dan*_*ade 10 python message-queue gearman
是否可以清空Gearman服务器上的作业队列?我正在使用Gearman的python驱动程序,文档中没有关于清空队列的任何信息.我认为这个功能可能存在,可能与Gearman服务器直接连接.
telnetable 管理协议(搜索"管理协议")也没有清空队列的命令,只有一个shutdown命令.
如果您希望避免停机,您可以编写一个通用的"工作消费者"工作者并使用它来清空队列.我把它设置为一个脚本,它接受一个工作名称列表,然后就坐在那里接受工作并消耗它们.
就像是:
# generic_consumer.py job1 job2 job3
Run Code Online (Sandbox Code Playgroud)
您可以使用管理协议的status命令获取队列中的函数名称和计数列表.该管理协议文档告诉你响应的格式.
# (echo status ; sleep 0.1) | netcat 127.0.0.1 4730
Run Code Online (Sandbox Code Playgroud)
据我所知,从文档中使用齿轮手并使用PHP,清除作业队列的唯一方法是重新启动到gearmand作业服务器.如果使用持久作业队列,则还需要将用作持久存储的任何内容清空,如果这是数据库存储,则需要清空所有行的相应表.
停止gearmand - >空表行 - >启动gearmand
希望这很清楚.