Gearman 齿轮管理员 - 命令行工具 - 清除顽固的作业

借助这里的这个问题,我一直忙于从以前的开发人员那里接管一个可悲的无记录的齿轮工设置。有趣的是,我也从未见过像Gearman官方网站这样糟糕的文档借口,所以花了一段时间为存储库编写自己的文档。

无论如何,无论我是坚持不懈的,我都做得很好,所以一切都很好,除了我的暂存站点,由于工作卡住,它无法使用,因为它不会加载memcache。

因此,为了监视,我运行:

 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

我正在使用PHP / MySQL / Sphinx / Memcache的联合表设置

任何人都可以对此进行一些阐明,或者向我展示如何调试这些工作吗?


沧海一幻觉
浏览 120回答 1
1回答

子衿沉夜

这是一个我知道的老问题,但以防将来其他人有同样的问题......为什么你的最终工作不清楚的答案是,有工人在做这些工作。状态输出中的三列:5 4 4这意味着队列中有 5 个作业,4 个作业正在进行中,4 个辅助角色可用。因此,当您消耗工作时,其他4个工人锁定了4个工作。我猜你只剩下 5 个可能是一个竞争条件,一个作业在你的 drain 运行时被另一个工人返回到队列中。gearman -w > /dev/null您可以通过在排出队列时停止其他工人来避免这种情况,或者像Kris在评论中所说的那样,停止齿轮,清除持久性存储并重新启动齿轮。
打开App,查看更多内容
随时随地看视频慕课网APP