完成某种类型的所有作业后调度作业

时间:2014-03-20 20:00:42

标签: php symfony redis php-resque

我有一个相当复杂的缓存和失效设置,如果特定数据集发生变化,我需要重新计算大量数据。

基本上,如果一个特定条目发生变化,这可能会创建最多15个重新计算内容的作业。 当这些作业正在运行时,可能会发生另一个主要条目的变化。再创造几个工作。 (这可能同时发生)

我需要实现的是在作业运行后聚合结果。只进行一次聚合可能是有意义的。

所以我需要做的就是在完成所有其他工作后只运行一次。

(顺便说一句:我没说BCCResqueuBundle)

1 个答案:

答案 0 :(得分:0)

您可以使用引用计数器,如果需要,可以将其与锁定结合使用。

引用计数器告诉nr异步工作者。开始时递增,完成时递减或失败。

锁定:1个或多个异步工作程序正在运行,或者聚合作业正在运行。 如果您使用谨慎的时间安排,则不需要锁定。