gpt4 book ai didi

redis - celery :如何在撤销后刷新计划任务列表?

转载 作者:可可西里 更新时间:2023-11-01 11:38:56 25 4
gpt4 key购买 nike

我使用以下代码撤销了所有任务。

from celery.task.control import inspect
from celery.task.control import revoke

i = inspect()
queues = i.scheduled()
keys = queues.keys()
all_tasks = []
tasks = []
if len(keys) > 0:
print keys[0]
all_tasks = queues[keys[0]]

for task in all_tasks:
revoke(task['request']['id'], terminate=True)

但是 inspect().scheduled() 在我撤销所有之前返回相同的任务。如何获取除已撤销任务列表?

最佳答案

每个 async_result 对象都有显示任务状态的 status 属性。因此,如果您有一个 all_tasks 列表,就可以执行此操作。

unrevoked_tasks = []
for task in all_tasks:
if task.status != 'REVOKED':
unrevoked_tasks += task

或者更好地使用这样的列表理解

unrevoked_tasks = [task for task in all_tasks if task.status != 'REVOKED']

关于redis - celery :如何在撤销后刷新计划任务列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27100662/

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