Как мы можем предотвратить загрузку сервера(ВЫПОЛНЕНИЕ ЗАДАЧИ В ФОНОВОМ РЕЖИМЕ) при выполнении любой ресурсоемкой работы

#python #flask #heroku

Вопрос:

Я создаю приложение flask, которое считывает данные с Google-листа и отправляет их по электронной почте примерно 50 получателям. Проблема, с которой я сталкиваюсь, заключается в том, что сервер продолжает загружаться, а Heroku не поддерживает такие ресурсоемкие задачи.

Я думал, что фоновые процедуры(очередь, Redis) будут работать, но этого не произошло.

 import time

from flask import Flask, render_template
import ccEmail,excel2py
import threading
import redis
from rq import Queue
from celery import Celery

app = Flask(__name__)
'''
app.config['CELERY_BROKER_URL']='redis://localhost:5000/0'
app.config['CELERY_RESULT_BACKEND']='redis://localhost:5000/0'

celery=Celery(app.name,broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)

r=redis.Redis()
q=Queue(connection=r)
'''

@app.route('/')
def index():
    return render_template('index.html')


@app.route('/email/')
def hello_world():
    #threading.Thread(target=excel2py.main())
    excel2py.main()
    #ccEmail.mail()
    #result=q.enqueue(excel2py.main())
    #print(result)
    return render_template('index2.html')


if __name__ == '__main__':
    app.debug=True
    app.run()

 

Я прикрепил app.py из фляжки.
excel2py.main содержит код драйвера для отправки писем