0
我有我的燒瓶應用程序的藍圖。是否可以從藍圖調用芹菜任務?
我已經initalized將芹菜放入main.py文件:
def make_celery(app):
celery = Celery(app.import_name, backend=app.config['CELERY_RESULT_BACKEND'],
broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
TaskBase = celery.Task
class ContextTask(TaskBase):
abstract = True
def __call__(self, *args, **kwargs):
with app.app_context():
return TaskBase.__call__(self, *args, **kwargs)
celery.Task = ContextTask
return celery
app.config.update(
DEBUG = True,
MAIL_SERVER='smtp.gmail.com',
MAIL_PORT=465,
MAIL_USE_TLS = False,
MAIL_USE_SSL= True,
MAIL_USERNAME = email,
MAIL_PASSWORD = password,
CELERY_BROKER_URL='redis://localhost:6379/0',
CELERY_RESULT_BACKEND='redis://localhost:6379/0'
)
mail = Mail(app)
celery = make_celery(app)
我也有,我已經在我的main.py文件的應用註冊的藍圖。
編輯:
我的任務:
@celery_tasks(name="call_api1")
def call_api1:
api = requests.post("blah blah")
return api
@celery.task(name="call_api2")
def call_api2():
api2 = requests.post("api2 call")
return api2
截至目前,我在main.py文件中調用這些任務。
不過,我想將它們用在我的藍圖(我已註冊我的main.py)
我已經定義在main.py芹菜任務,並想知道如果我可以調用芹菜任務從我的藍圖。
問候, Galeej
是的。這種東西。我想異步地對第三方API進行一次郵政調用,並將它們流式傳輸到我的前端。所以這個任務本身非常簡單(我已經編寫了可以完成必要的工作/調用的類)。藍圖讓我的生活更輕鬆:) – galeej
@galeej你還可以提供這些藍圖的代碼嗎? –