我正在寻找一种计划任务,在任务启动后,几个先前的任务已完成。具有复杂依赖关系的任务调度
我有几百个“收集器”进程从各种来源收集数据并将其转储到数据库。一旦完成收集(从1秒到几分钟),我想立即启动一大堆“数据处理”过程来分析和理解数据库中的数据。当所有这些都完成后,我想要开始一项最终任务,并向我发送摘要数据的电子邮件。
我目前正在使用Gearman队列,并在定时器启动数据处理任务,一旦我预计“收集器”进程已完成,但这意味着处理步骤在10分钟后开始,即使收集器进程3(或更糟,尚未完成)完成。
理想情况下,我可以指定特定的规则,例如“当进程A和(B或C)完成时启动进程X”,或者“当指定进程的95%完成或10分钟已经过去时启动进程Y ”。
进程和依赖关系需要自动创建,因为每次都会使用不同的参数运行进程和依赖项(即,我没有每次执行相同的计算)。
我可以使用队列和监视器自己编写某种图形依赖框架,但它似乎是必须已经解决的事情,我正在寻找使用类似我所描述的东西的人。
不太可能在PHP中完成。 – andho