Xxl-Job - XxlJobExecutor执行流程

Xxl-Job - XxlJobExecutor执行流程


XxlJobExecutor.start()
    initAdminBizList -> 执行器与 admin 通信 client->采用http
    JobLogFileCleanThread.start
    TriggerCallbackThread.start
    initEmbedServer()->执行器自己作为 http-server,ExecutorBizImpl 处理 admin 发送给 执行器的
        EmbedServer
            /beat
            /idleBeat
            /run
                + 加载 jobHandler
                + 为每个JobId都创建JobThread,并放入 map缓存,并start()
            /kill
            /log
    JobThread
        + 从 triggerQueue 中 不停取 triggerParam 参数
        + 调用  IJobHandler.execute()方法
        + 如果线程停止后 triggerQueue 不为空,则取出 放在 TriggerCallbackThread线程中
    
    TriggerCallbackThread
        + 向 callBackQueue 队列取 HandleCallbackParam
        + 调用 admin的/api/callback,通知admin任务已经取消


XxlJobSpringExecutor.afterSingletonsInstantiated()
    initJobHandlerMethodRepository()->处理 @XXlJob 注解方法的任务,注册注解xxlJob
        将@xxlJob注解的方法封装成 MethodJobHandler
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C知道:xxl-job是一个分布式任务调度平台,它可以帮助开发人员实现任务的定时调度和分布式执行。下面是xxl-job执行流程: 1. 注册执行器:在xxl-job管理员界面上注册执行器,配置执行器的名称、IP地址、端口等信息。执行器是任务的具体执行者,可以是一个独立的服务或者一个应用程序。 2. 创建任务:在xxl-job管理员界面上创建任务,配置任务的相关信息,例如任务名称、任务组、Cron表达式等。任务组可以用于对任务进行分类管理。 3. 添加调度器:在xxl-job管理员界面上添加调度器,配置调度器的名称、Cron表达式等信息。调度器是用于触发任务执行的组件,可以根据设定的时间规则触发任务的执行。 4. 执行器心跳:执行器会定时向xxl-job管理员发送心跳请求,以告知自己的存在和可用状态。管理员通过心跳检测来获取执行器的状态信息。 5. 调度器触发任务:当调度器触发任务执行时,会向xxl-job管理员发送任务执行请求。 6. 任务分发:xxl-job管理员根据负载均衡策略选择一个可用的执行器,并将任务分发给该执行器。 7. 任务执行:执行器接收到任务后,根据配置的任务逻辑进行执行。执行器可以是一个独立的服务,也可以是一个应用程序。 8. 任务结果上报:执行器执行任务完成后,将任务执行结果上报给xxl-job管理员。管理员可以通过任务结果信息来监控任务的执行情况。 总结来说,xxl-job执行流程主要包括注册执行器、创建任务、添加调度器、执行器心跳、调度器触发任务、任务分发、任务执行和任务结果上报等步骤。通过这些步骤,xxl-job能够实现任务的定时调度和分布式执行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值