【发布时间】:2014-11-05 11:18:49
【问题描述】:
当恶魔只执行一项任务时,我在 tasks.py 文件中有 3 个任务。其余两个显示在调试模式但不执行。
celery worker --concurrency=1
有什么改变需要吗?
编辑:
@celery.decorators.periodic_task(run_every=datetime.timedelta(minutes=1))
def task1():
try:
sc = SampleCount.objects.get(pk=1)
except:
sc = SampleCount()
sc.num = sc.num + 1
sc.save()
return(sc)
相同的 task2 用于将数据添加到 SampleCount2(minute=2) 和 task3 用于将数据添加到 SampleCount3(minute=3)。
现在我运行
python manage.py celeryd -E -B --loglevel=DEBUG
所以它会显示 3 个任务。但是当我检查状态时,它只显示 1 task1 active 。计划中没有其他两个。如果我运行
python manage.py celeryd -E -B --loglevel=DEBUG
再次命令,然后 task3 处于活动状态,其余两个不工作。如何使用一个工作人员运行三个任务。
我已经等到 10 分钟,但只有一个任务在工作(可能是它的 task1、task2 或 task3)。
【问题讨论】:
-
1.
python manage.py celeryd -E -B --loglevel=DEBUG不会显示任务,它只能显示有关工人的信息。 2.你用什么broker? 3.如何查看任务状态? 4. 您是否尝试在您的任务中插入print语句并观看celeryd 控制台输出?
标签: django celery-task