php 实现流程平台时间线的疑问

目标:通过php实现流程平台的时间线

例如,需要设计一个流程平台,需要通过A->B->C->D->E等步骤实现完整的流程,整个流程平台里分多个job。

需求:每个流程的C状态,各个job(比如一个流程里有5个job)需要等待半小时(即timeout最长为30min),之后才能进入到D状态(根据job的完成状态进行判断,如果job成功了则进入D状态;如果失败则创建一个C1状态,用于手工完成C1)。
也就是说整个流程的耗时因为在C状态有timeout所以很长,请问这种流程平台该如何设计呢?先谢过了!

阅读 2.5k
1 个回答

感谢邀请,根据题主描述应该是想实现一个定时器的任务,而不是时间线的问题。我的思路是这样的,首先JOB执行程序最大时间应该高于30min,30min钟执行完成后,在JOB本身进行状态的判断。网上有相关代码(其中脚本51上就有,所以不再说了)。其次是你要写一个php文件可以运行在cli模式下,用"php XXX.php start -d"然后每隔两分钟检测一下你运行中的JOB是否完成,进而判断是否进入下一个状态,还是提醒你手动创建C1任务。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题