@MichaelMih

Почему не запускается celery?

Всем привет! Есть код:

spoiler
from logging import debug
from flask import Flask
from flask_socketio import SocketIO
from celery import Celery
import threading


app = Flask("server", static_url_path="", static_folder='/')
app.config['SECRET_KEY'] = 'gjr39dkjn344_!67#'
app.config['broker_url'] = 'redis://127.0.0.1:6379/0'
app.config['result_backend'] = 'redis://127.0.0.1:6379/0'


def make_celery(app):
    celery = Celery(
        "server",
        backend=app.config['broker_url'],
        broker=app.config['result_backend']
    )
    celery.conf.update(app.config)

    class ContextTask(celery.Task):
        def __call__(self, *args, **kwargs):
            with app.app_context():
                return self.run(*args, **kwargs)

    celery.Task = ContextTask
    return celery


celery = make_celery(app)

@celery.task()
async def my_background_task():
    f = open("text.txt", "w")
    f.write("fsdsdf")
    return "sss"

@app.route("/")
async def main():
    task = my_background_task.delay()<code></code>
    print(task)
    return "sss"


После запуска начинает работать селери но фласк нет, если добавляю app.run то перестает работать селери но запускается фласк. Как можно это решить?

Селери запускаю так: celery --app server.celery worker --loglevel info
  • Вопрос задан
  • 485 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
хороший код

Celery нужно запускать по инструкции
https://docs.celeryproject.org/en/stable/userguide...
и забыть в это время о существовании вообще чего бы то ни было, в частности фласка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы