Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Multithreading_Celery_Django Celery - Fatal编程技术网

Python 芹菜检查队列是否正在执行

Python 芹菜检查队列是否正在执行,python,multithreading,celery,django-celery,Python,Multithreading,Celery,Django Celery,我必须生成芹菜任务,这些任务必须有一些名称空间(例如用户id)。 所以我要把它生下来 scrapper_start.apply_async((request.user.id,), queue=account.Account_username) app.control.add_consumer(account.Account_username, reply=True) 任务从其他任务递归生成。 现在我必须检查队列的任务是否正在执行。尝试在redis中检查列表长度,它在芹菜开始执行之前返回真值。

我必须生成芹菜任务,这些任务必须有一些名称空间(例如用户id)。 所以我要把它生下来

scrapper_start.apply_async((request.user.id,), queue=account.Account_username)
app.control.add_consumer(account.Account_username, reply=True)
任务从其他任务递归生成。 现在我必须检查队列的任务是否正在执行。尝试在redis中检查列表长度,它在芹菜开始执行之前返回真值。
如何解决这个问题。我只需要检查队列或使用者是否正在执行或已为空。谢谢

如果您只想检查队列,可以从命令行本身进行检查

 from celery.task.control import inspect
 i = inspect('scrapper_start')
 i.active()  #  get a list of active tasks
除了检查当前正在执行的操作外,您还可以执行以下操作

 i.registered() # get a list of tasks registered
 i.scheduled # get a list of tasks waiting
 i.reserved() #tasks that has been received, but waiting to be executed
如果您希望偶尔检查一次,则此命令行检查很好

出于某种原因,如果您想连续监视它们,可以使用它来提供一个漂亮的界面来监视工作人员。
不适用于我,
i=inspect('my_queue')
然后
i.ping()
给我
值错误:目的地必须是列表/元组不
此错误@chillarandtry:
inspect(['my_queue'))
,使用
列表而不是
str
,应该有效!