gpt4 book ai didi

python - 如何构建 celery 任务

转载 作者:IT老高 更新时间:2023-10-28 20:41:58 26 4
gpt4 key购买 nike

我有 2 种类型的任务:异步任务和计划任务。所以,这是我的目录结构:

proj
|
-- tasks
|
-- __init__.py
|
-- celeryapp.py => celery instance defined in this file.
|
-- celeryconfig.py
|
-- async
| |
| -- __init__.py
| |
| -- task1.py => from proj.tasks.celeryapp import celery
| |
| -- task2.py => from proj.tasks.celeryapp import celery
|
-- schedule
|
-- __init__.py
|
-- task1.py => from proj.tasks.celeryapp import celery
|
-- task2.py => from proj.tasks.celeryapp import celery

但是当我像下面这样运行 celery worker 时,它不起作用。它不能接受来自 celery beat scheduler 的任务。

 $ celery worker --app=tasks -Q my_queue,default_queue

那么,有没有关于多任务文件组织的最佳实践?

最佳答案

基于 celery documentation您可以像这样导入 celery 任务的结构:

例如,如果您有一个(想象的)这样的目录树:

|
|-- foo
| |-- __init__.py
| |-- tasks.py
|
|-- bar
|-- __init__.py
|-- tasks.py

然后调用 app.autodiscover_tasks(['foo', bar']) 将导致模块 foo.tasks 和 bar.tasks 被导入。

关于python - 如何构建 celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17702578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com