轮询任务后,更新任务的状态IN_PROGRESS
并将其callbackAfterSeconds
设置为所需的时间。任务将保留在队列中,直到指定的第二个工作者轮询为止,它将再次接收到它。
如果为该任务设置了一个callbackAfterSeconds
超时值,超过超时值,将导致任务为TIMED_OUT。
是。只要将任务超时设置为处理长时间运行的工作流程,它将保持运行状态。
确保通过/metadata/taskdefs
API注册所有的任务。添加任何缺少的任务定义(如错误报告),然后重试。
指挥员不运行工人。当任务被安排时,它将被放置在由Conductor维护的队列中。工作人员需要使用/tasks/poll
API 轮询任务,并且定期使用API执行任务的业务逻辑,并使用POST /tasks
API调用报告结果。然而,导体将在导体服务器上运行系统任务。
导体不提供任何调度机制。但是,您可以使用任何可用的调度系统将REST调用到Conductor来启动工作流。或者,将消息发布到支持的事件系统(如SQS)以触发工作流。
有关事件的更多细节。
访问Dynomite的github页面。 https://github.com/Netflix/dynomite查找有关设置和支持机制的详细信息。
是。工作人员可以写任何语言,只要他们可以通过HTTP端点轮询和更新任务结果。
指挥机构为Java和Python提供了框架,以简化轮询和将状态更新到Conductor服务器的任务。
注意: Python客户端目前正在开发中,并没有针对生产用例进行测试。
访问Dynomite的github页面。 https://github.com/Netflix/dynomite查找有关设置和支持机制的详细信息。
原文:http://www.cnblogs.com/mhc-fly/p/7011565.html