2

我在 php 中有一个 Gearman Work 来处理来自客户端的后台任务。有时我无法处理那份工作。我需要一种方法来延迟 5 分钟后重试该工作。我怎样才能做到这一点?

我现在要做的是做exit(255)但这将立即重试工作。另外我不知道如何获得该特定工作的失败次数(在工作人员中)。

问题:

  1. 我如何在 Gearmand 中完成上述操作
  2. 是否有任何其他消息系统能够做到这一点?
4

2 回答 2

2

你不能。至少不使用内置功能。此功能在 Gearmand 中仅部分实现,PHP 模块不公开此功能。请参阅有关该功能的讨论

人们尝试了不同的方法,包括:

当涉及到跟踪故障时——AFAIK,你不能。请参阅我关于在 Gearman 中处理重试的答案以获得可能的解决方案。

于 2013-04-07T12:24:54.223 回答
0

不是内置的,但您可以为此使用一些 memcached+TTL。

于 2014-05-17T08:09:59.220 回答