开发者社区> 问答> 正文

SchedulerX中在同一个流程里前一个跑完了 ,第二个任务提示配置都是一样的是为什么呀?

SchedulerX中在同一个流程里,前一个跑完了 ,第二个任务提示 worker is not available for groupId 配置都是一样的。目前测试阶段单机,都是指定一台机器运行是为什么呀?

564f2b12d5f8ffe6646d19b8035b4c9a.png

8e88fc0065d57330f27b084f8f976fee.png

展开
收起
fuxixi 2022-12-26 17:23:20 401 0
1 条回答
写回答
取消 提交回答
  • 在 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" 的错误提示。

    希望这能帮到你!

    2022-12-31 08:03:11
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载