我是 Gearman 的新手,但我了解一般概念。我意识到这不是你通常想做的事情......但我想知道是否有办法向所有工人发送“工作”?
我有一个脚本可以监控我的工人并在他们死后重生。当我想杀死/重生所有工作进程时,我希望能够发送一份说“死”的工作。
这可能吗?谢谢!
有几种方法可以解决这个问题。
最简单的方法是为您拥有的每个工人发送“杀死”工作。一旦他们都被杀死,然后重生他们。这种方法的缺点是你必须等到所有工人都死了才能开始重生。如果您现有的脚本立即重新生成,您将在此处遇到问题。
另一种方法是为每个工人注册一个独特的任务。例如,如果你有两个工人,为第一个工人注册一个任务“kill_001”,为第二个工人注册一个“kill_002”。要杀死您的工人,请确定要启动的唯一作业(“kill_001”,“kill_002”),然后将它们发送出去。重生的工人应该有新的独特任务,即如果新工作“kill_001”尚未被杀死,则不要注册它。虽然这种方法可能需要更多的工作,但它可以让你在不停机的情况下重生你的工人。