SchedulerX中在同一个流程里,前一个跑完了 ,第二个任务提示 worker is not available for groupId 配置都是一样的。目前测试阶段单机,都是指定一台机器运行是为什么呀?
在 SchedulerX 中,如果你在同一个流程里的任务之间配置了相同的 groupId,那么 SchedulerX 会将这些任务分配到同一个 worker 进程中执行。
如果你在测试阶段使用了单机模式,且为每个任务都指定了运行在同一台机器上,那么在前一个任务执行完毕后,SchedulerX 会自动将这个 worker 进程销毁,并重新启动一个新的 worker 进程来执行后续的任务。
这就导致了第二个任务无法正常执行,而出现了 "worker is not available for groupId" 的错误提示。
为了避免这个问题,你可以在 SchedulerX 中的配置中增加 keepWorkerAlive 参数,设置为 true。这样,SchedulerX 就不会在任务执行完毕后销毁 worker 进程,而是会将这个 worker 进程保留下来,用于执行后续的任务。
例如,你可以这样配置:
<property>
<name>schedulerx.server.worker.keepalive</name>
<value>true</value>
</property>
这样,在同一个流程中的任务就会在同一个 worker 进程中执行,避免了 "worker is not available for groupId" 的错误提示。
希望这能帮到你!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。