Cronicle项目配置详解:从基础设置到高级功能

Cronicle项目配置详解:从基础设置到高级功能

【免费下载链接】Cronicle A simple, distributed task scheduler and runner with a web based UI. 【免费下载链接】Cronicle 项目地址: https://gitcode.com/gh_mirrors/cr/Cronicle

配置概述

Cronicle作为一个分布式任务调度系统,其核心配置文件位于/opt/cronicle/conf/config.json。这个JSON格式的配置文件包含了系统运行所需的所有参数,从基础设置到高级功能应有尽有。本文将深入解析这些配置项,帮助您更好地理解和定制Cronicle系统。

基础配置

系统基础参数

base_app_url是Cronicle系统的基础URL,用于在邮件通知中生成自引用链接。如果使用负载均衡器,应设置为虚拟主机名。例如:

"base_app_url": "http://local.cronicle.com:3012"

secret_key是多服务器集群中用于服务器间API请求认证的共享密钥。安装脚本会自动生成随机字符串,但您可以自定义,只需确保所有服务器使用相同的密钥。

日志管理

Cronicle提供了灵活的日志配置选项:

  • log_dir:日志文件存储目录,默认为/opt/cronicle/logs
  • log_filename:支持三种日志文件组织方式
  • log_archive_path:支持日志归档,可使用日期占位符如[yyyy][mm]
  • copy_job_logs_to:可将任务日志复制到指定目录供其他日志系统处理

系统维护

maintenance参数设置每日维护时间,默认为凌晨4点。维护期间系统仍可用,但UI性能可能略有影响。

list_row_max控制历史记录(如活动日志、已完成任务等)的最大保留数量,默认为10000条。超过此限制时,最旧的记录会在维护时被删除。

邮件通知配置

Cronicle的邮件通知系统配置灵活:

  • email_from:设置发件人地址
  • smtp_hostnamesmtp_port:SMTP服务器配置
  • mail_options:支持SMTP SSL认证和本地sendmail配置

示例SMTP认证配置:

"mail_options": {
    "secure": true,
    "auth": { "user": "username", "pass": "password" }
}

任务管理配置

资源限制

Cronicle允许对任务设置资源限制:

  • job_memory_max:内存限制(字节),默认1GB
  • job_memory_sustain:允许超过内存限制的持续时间(秒)
  • job_cpu_max:CPU使用限制(单核百分比)

这些限制也可以在UI中按类别或事件自定义。

任务超时处理

  • child_kill_timeout:发送TERM信号后等待子进程退出的时间(默认10秒)
  • dead_job_timeout:失去连接的worker上任务被认为失败的时间(默认120秒)

多服务器集群配置

对于多服务器环境,关键配置包括:

  • master_ping_freq:主服务器ping工作服务器的频率(默认20秒)
  • master_ping_timeout:备份服务器认为主服务器失效的等待时间(默认60秒)
  • udp_broadcast_port:服务器自动发现的UDP端口(默认3014)

Web Hook集成

Cronicle支持强大的Web Hook功能:

  • universal_web_hook:全局Web Hook URL,所有任务都会触发
  • web_hook_custom_data:自定义JSON数据,会合并到Web Hook请求中
  • web_hook_text_templates:自定义Web Hook通知文本模板

示例Web Hook配置:

"universal_web_hook": "https://api.example.com/webhook",
"web_hook_custom_data": {
    "environment": "production"
}

存储配置

Cronicle支持多种存储后端:

  1. 文件系统:默认存储方式,简单可靠
  2. Couchbase:适合大规模分布式环境
  3. Amazon S3:云存储解决方案

最佳实践建议

  1. 生产环境中建议设置合理的资源限制,防止任务占用过多系统资源
  2. 对于关键任务,适当增加dead_job_timeout以避免网络短暂中断导致任务失败
  3. 定期检查日志归档设置,确保不会占用过多磁盘空间
  4. 多服务器环境中,确保所有节点的secret_key一致
  5. 根据实际需求调整list_row_maxjob_data_expire_days以平衡历史记录保留和存储空间

通过合理配置这些参数,您可以充分发挥Cronicle的强大功能,构建出稳定可靠的任务调度系统。

【免费下载链接】Cronicle A simple, distributed task scheduler and runner with a web based UI. 【免费下载链接】Cronicle 项目地址: https://gitcode.com/gh_mirrors/cr/Cronicle

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值