【发布时间】:2014-10-23 14:54:09
【问题描述】:
我正在本地环境中测试 celery。我的 Python 文件有以下两行代码:
celery_app.send_task('tasks.test1', args=[self.id], kwargs={})
celery_app.send_task('tasks.test2', args=[self.id], kwargs={})
查看控制台输出,它们似乎是按顺序一个接一个地执行。但 test2 仅在 test1 完成后运行。至少这是读取控制台输出的方式。
这些任务彼此之间没有依赖关系,所以我不希望一个任务等待另一个任务完成后再进入下一行。
如何同时执行两个任务?
---- **** -----
--- * *** * -- Darwin-14.0.0-x86_64-i386-64bit
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app: tasks:0x104cd8c10
- ** ---------- .> transport: sqs://123
- ** ---------- .> results: disabled
- *** --- * --- .> concurrency: 4 (prefork)
-- ******* ----
--- ***** ----- [queues]
-------------- .> celery exchange=celery(direct) key=celery
【问题讨论】:
-
@ndpu 所以这是一个并发问题?我这里不用并行任务吗?
-
它在启动时声明我有“并发:4(prefork)”