Gearman gearadmin - 命令行工具 - 清除顽固作业
Gearman gearadmin - command line tool - clearing stubborn jobs
在 this question here, I've been busy taking over an woefully undocumented gearman setup from a previous dev. Funnily enough, I've never seen such a woefully poor excuse for documentation as the gearman official website 的帮助下,我花了一些时间为 repo 编写自己的代码。
无论如何,我都做得很好,因为我坚持不懈,所以一切都很好,除了我的暂存站点,由于作业卡住,它无法加载内存缓存,因此无法使用。
所以为了监控,我运行:
gearadmin --status | sort -n | column -t
生产工人表演
0 0 26
大功告成,太棒了!
在暂存阶段,我只剩下
2550 0 0
...基本上每个产品都失败了。
所以我运行
/usr/bin/gearman -t 1000 -n -w -f what_i_need_to_clear > /dev/null
这似乎清除了作业队列。哈哈。几乎。现在我有
5 4 4
我如何清除那些?因为工作只是支持它。我只想将我的登台重置为
0 0 0
我正在使用联合 table 设置 PHP/MySQL/Sphinx/Memcache
任何人都可以阐明这一点,或者告诉我如何调试这些作业吗?
这是我知道的一个老问题,但以防万一以后其他人有同样的问题...为什么你的最终工作没有明确的答案是有工人 运行 在工作在那些工作上。
状态输出中的三列:
5 4 4
这意味着队列中有 5 个作业,正在进行中的 4 个作业,有 4 个工作人员可用。
因此,当您的 gearman -w > /dev/null
正在消耗工作时,其他 4 个工人锁定了 4 个工作。我猜你剩下 5 的事实可能是竞争条件,当你的流失是 运行.
时,另一个工作人员将一个工作返回到队列中
您可以通过在清空队列时停止其他工作人员来避免这种情况,或者像 Kris 在评论中所说的那样,停止 gearmand,清除持久存储并重新启动 gearmand。
在 this question here, I've been busy taking over an woefully undocumented gearman setup from a previous dev. Funnily enough, I've never seen such a woefully poor excuse for documentation as the gearman official website 的帮助下,我花了一些时间为 repo 编写自己的代码。
无论如何,我都做得很好,因为我坚持不懈,所以一切都很好,除了我的暂存站点,由于作业卡住,它无法加载内存缓存,因此无法使用。
所以为了监控,我运行:
gearadmin --status | sort -n | column -t
生产工人表演
0 0 26
大功告成,太棒了!
在暂存阶段,我只剩下
2550 0 0
...基本上每个产品都失败了。
所以我运行
/usr/bin/gearman -t 1000 -n -w -f what_i_need_to_clear > /dev/null
这似乎清除了作业队列。哈哈。几乎。现在我有
5 4 4
我如何清除那些?因为工作只是支持它。我只想将我的登台重置为
0 0 0
我正在使用联合 table 设置 PHP/MySQL/Sphinx/Memcache
任何人都可以阐明这一点,或者告诉我如何调试这些作业吗?
这是我知道的一个老问题,但以防万一以后其他人有同样的问题...为什么你的最终工作没有明确的答案是有工人 运行 在工作在那些工作上。
状态输出中的三列:
5 4 4
这意味着队列中有 5 个作业,正在进行中的 4 个作业,有 4 个工作人员可用。
因此,当您的 gearman -w > /dev/null
正在消耗工作时,其他 4 个工人锁定了 4 个工作。我猜你剩下 5 的事实可能是竞争条件,当你的流失是 运行.
您可以通过在清空队列时停止其他工作人员来避免这种情况,或者像 Kris 在评论中所说的那样,停止 gearmand,清除持久存储并重新启动 gearmand。