Skip to content

基于Tornado框架实现的一套定时任务系统,完全兼容Linux Crontab支持到秒级

License

Notifications You must be signed in to change notification settings

wxhzk/codo-cron

 
 

Repository files navigation

定时任务

通过定时任务可以进行添加你的定时任务

1.1 定时任务特点

  • restful api 简单易定制
  • 可接入可视化界面操作
  • 定时任务统一管理
  • 完全兼容 crontab
  • 支持秒级定时任务
  • 任务可搜索、暂停、编辑、删除

1.2 用户使用说明

  • 新增任务
    • job_id: 任务名称,建议为有意义的英文名称
    • 可执行命令: Linux Bash 命令,亦可将可执行程序放入指定的目录(使用docker 切记安装依赖)
    • 任务定时器: (秒、分、时、日、月、周)
      • 示例:每分钟的第20秒开始执行pwd命令

  • 编辑任务

  • 暂停恢复
    • 状态栏可以将任务暂停/恢复

  • 任务日志
    • 每条任务执行都会记录日志
    • 日志可根据Job_id、状态、关键字、时间范围等搜索

timed_logs

部署文档

本服务只能启用一个进程

创建数据库

create database `codo_cron` default character set utf8mb4 collate utf8mb4_unicode_ci;

一、docker-compose 安装(推荐)

  • 修改settings 配置 主要是MySQL数据库配置
  • 执行 docker build . -t codo_cron_image
  • docker-compose up -d
  • 启动成功默认地址为 ip:9900

二、本地安装

建议使用虚拟环境 具体参考Dockerfile 内的安装步骤

  • 修改配置文件
  • 安装依赖
    • pip3 install --user --upgrade pip
    • pip3 install -r /var/www/do_cron/doc/requirements.txt
  • 从doc目录获取supervisor配置文件 使用 supervisor启动 supervisorctl restart

三、api文档 暂无

四、服务注册(如果需要结合权限则需要注册)

示例

rewrite_conf = {
    [gw_domain_name] = {
        rewrite_urls = {
            {
                uri = "/cron",
                rewrite_upstream = "10.2.2.236:9900"
            },
            {
                uri = "/mg",
                rewrite_upstream = "mg.opendevops.cn:8010"
            },
            {
                uri = "/accounts",
                rewrite_upstream = "mg.opendevops.cn:8010"
            },
        }
    }
}

License

Everything is GPL v3.0.

About

基于Tornado框架实现的一套定时任务系统,完全兼容Linux Crontab支持到秒级

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 93.4%
  • Dockerfile 6.6%