Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 芹菜如何终止和重新开始任务_Python_Celery - Fatal编程技术网

Python 芹菜如何终止和重新开始任务

Python 芹菜如何终止和重新开始任务,python,celery,Python,Celery,我想用芹菜做这样的事情: 1.我发送消息启动任务,任务正在启动 2.若在任务中某个条件为真,那个么任务应该终止(取消)并“返回”到消息队列,其他工作人员可以接收并执行该任务 现在我不知道如何从worker函数终止任务。我试图在这个被调用的函数中执行类似的操作: if condition == true: revoke(current_task.request.id, terminate=True) 在应用程序中,当消息发送时,我试图以这种方式连接信号“task_revoke”: @ta

我想用芹菜做这样的事情: 1.我发送消息启动任务,任务正在启动 2.若在任务中某个条件为真,那个么任务应该终止(取消)并“返回”到消息队列,其他工作人员可以接收并执行该任务

现在我不知道如何从worker函数终止任务。我试图在这个被调用的函数中执行类似的操作:

if condition == true:
    revoke(current_task.request.id, terminate=True)
在应用程序中,当消息发送时,我试图以这种方式连接信号“task_revoke”:

@task_revoked.connect
def do_something_when_revoke(terminated, signum, expired):
    do_something_here...
但这对我不好。所以也许你可以帮我,告诉我我做错了什么,或者什么是做类似事情的不同方式:)
提前感谢

实现这一点的更简单方法可能是在任务本身内部实现该逻辑:

  • 您不必撤销任务,只需在其中执行任何操作即可
  • 您的任务可以只向队列提交一个新的、更新的任务

    • 实现这一点的一个更简单的方法可能是在任务本身内部实现该逻辑:

      • 您不必撤销任务,只需在其中执行任何操作即可
      • 您的任务可以只向队列提交一个新的、更新的任务