全部产品

最佳实践

更新时间:2020-04-02 15:35:35

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

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

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

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

    0 0 0 * * ? 含义为每天的 0 点 0 分 0 秒触发一次。

    由于开发环境的业务机器较少,如果在开发初期直接配置类似 * 0/1 * * * ? 的 CRON 表达式,即一分钟一次的高频率,一旦业务机器发生故障、重启或部署新代码,由于机器较少导致消息接收能力不足,从而导致大量的消息投递失败,而消息队列的高可靠特性会导致这些消息持续数天重试。

    上述场景浪费机器资源,同时消息过多还会导致预期外的收费,影响开发环境的稳定。所以建议开发初期设置类似 0 0 0 * * ? 的低频任务,在联调时手动触发定时任务,在代码稳定后,再调整为预期的频率,进行稳定性测试。