gpt4 book ai didi

python - celery 预定列表返回无

转载 作者:太空狗 更新时间:2023-10-30 00:40:36 26 4
gpt4 key购买 nike

我对 Celery 还很陌生,我一直在尝试设置一个简单的脚本来安排和取消安排任务。但是我觉得我遇到了一个奇怪的问题。我有以下设置

from celery import Celery
app = Celery('celery_test',
broker='amqp://',
backend='amqp')

@app.task
def add(x, y):
return x + y

我可以很好地启动我的 celery 服务器并且可以添加任务。现在,当我想获得事件任务列表时,事情似乎变得很奇怪。当我使用 inspect 获取计划任务列表时,它只工作一次,然后每次都返回 None。

>>> i = app.control.inspect()
>>> print i.scheduled()
{u'celery@mymachine': []}
>>> print i.scheduled()
None
>>>

无论我是否添加任务,都会发生这种情况。我想找到一种方法来始终如一地从我的 celery 队列中返回任务列表。我想这样做是为了找到之前排队的任务,将其撤销并重新安排。我觉得我在这里缺少一些基本的东西。

最佳答案

要重复调用以获取队列中的任务列表,您必须创建 Celery 对象的新实例。我试图通过调试通过调用 ./manage.py celery inspect scheduled 执行的代码来弄清楚为什么有必要,但没有任何运气。也许有人会对此有更多经验,并在此答案中添加一些其他信息。

试试这个简单的片段来检查计划任务列表:

from celery import Celery

def inspect(method):
app = Celery('app', broker='amqp://')
return getattr(app.control.inspect(), method)()

print inspect('scheduled')
print inspect('active')

关于python - celery 预定列表返回无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24236131/

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