全部产品
云市场

定时任务最佳实践

更新时间:2019-09-11 18:17:38

为让您能够更好地管理定时任务,保障开发环境和生产环境的稳定,本文推荐一些编码规范。

  • 任务名称推荐采用 APPNAME_FUNCTION 格式

    例如,系统名称为 demoapp,对应的一个定时任务功能为清理后台垃圾流水 truncate_flow_record,建议将任务名称命名为 DEMOAPP_TRUNCATE_FLOW_RECORD。这种命名形式便于根据任务名称获取任务的具体业务功能。

  • 开发环境 CRON 表达式推荐为 0 0 0 * * ?

    0 0 0 * * ? 含义为每天的 0 点 0 分 0 秒触发一次。
    如果在开发初期直接配置类似 * 0/1 * * * ? 的 CRON 表达式,即一分钟一次的高频率,由于开发环境机器代码不稳定,可能产生大量的调用失败浪费机器资源。所以建议开发初期设置类似 0 0 0 * * ? 的低频任务,在联调时手动触发定时任务,在代码稳定后,再调整为预期的频率,进行稳定性测试。

  • 为不同任务配置独立的处理线程池

    建议显式设置任务处理器的线程池,并且根据业务优先级、处理耗时隔离开,不要使用默认的线程池。以免个别业务耗时异常增加时,影响到其他任务的处理。