我在php中有一个Gearman Work来处理来自客户端的后台任务。我不时能够处理那份工作。我需要一种方法来延迟5分钟后重试那个工作。我怎么能这样做?
我现在要做的是exit(255
),但这会立即重试。另外,我不知道如何获得该特定工作(在工人中)的失败次数。
问题:
答案 0 :(得分:2)
你不能。至少不使用内置功能。此功能仅部分在Gearmand中实现,PHP模块不公开此功能。请参阅该功能的this discussion。
人们尝试过不同的东西,包括:
at
utility 当涉及到跟踪失败时 - 再次,你不能,AFAIK。有关可能的解决方案,请参阅handling retries in Gearman上的答案。
答案 1 :(得分:0)
没有内置,但你可以使用一些memcached + TTL。