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