Git Product home page Git Product logo

stools's Introduction

stools

scron定时任务程序

功能

1.一次部署,通过web添加任务 2.日志输出, 3.超时处理(报警,杀掉)

依赖

mysql

运行

本程序不包含Web操作,可自行设计Web程序,操作数据库即可。

默认会查找 /etc/scron.conf文件

python scron.py

指定scron.conf文件

python scron.py -c scron.conf

指定部署环境

python scron.py -c scron.conf -e dev

部署

*部署在类(nix)在机器的crontab中

*/1 * * * * python scron.py

scron.conf

[pro]
db_host = 192.168.0.1
db_name = sys
db_port = 3306
db_user = sys
db_pass = 123456
log_path = /data/logs
cron_table_name = sys_crontab
host_table_name = sys_crontab_host
iskill = 1

[test]
db_host = 192.168.1.1
db_name = test
db_port = 3306
db_user = test
db_pass = 123456
log_path = /data/logs
cron_table_name = sys_crontab
host_table_name = sys_crontab_host
iskill = 1

[dev]
db_host = 192.168.2.1
db_name = dev
db_port = 3306
db_user = dev
db_pass = 123456
log_path = /data/logs
cron_table_name = sys_crontab
host_table_name = sys_crontab_host
iskill = 1

cron_table_name是任务表名,host_table_name是主机表名, iskill=1表示超时后,会自动杀掉,不杀掉请设置成0

表结构

sys_crontab;
+---------+--------------+------+-----+---------+----------------+-----------------------------------------+
| Field   | Type         | Null | Key | Default | Extra          |说明                                     |
+---------+--------------+------+-----+---------+----------------+-----------------------------------------+
| cronId  | int(11)      | NO   | PRI | NULL    | auto_increment |任务id                                   |
| task    | varchar(255) | NO   |     | NULL    |                |任务名                                   |
| active  | tinyint(1)   | NO   |     | 0       |                |是否激活,保有激活才能运行               |
| mhdmd   | varchar(255) | NO   |     | NULL    |                |时间条件,与crontab一样 * * * * *        |
| command | varchar(255) | NO   |     | NULL    |                |脚本或命令                               |
| params  | varchar(255) | NO   |     | NULL    |                |脚本或命令的参数(也可一起写在command中)|
| process | varchar(255) | NO   |     | 1       |                |允许运行的进程数量                       |
| runAt   | varchar(255) | NO   |     | 0       |                |上次运行时间(Web配置也不要操作此项       |
| host    | varchar(15)  | NO   |     | NULL    |                |运行的主机Ip                             |
| logFile | varchar(255) | NO   |     |         |                |日志文件                                 |
| timeout | int(11)      | NO   |     | 0       |                |超时时间(单位:分钟)                   |
| user    | varchar(255) | NO   |     | NULL    |                |运行脚本的linux用户(可留空)             |
+---------+--------------+------+-----+---------+----------------+-----------------------------------------+
sys_crontab_host;
+-----------+------------------+------+-----+---------+----------------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |说明            |
+-----------+------------------+------+-----+---------+----------------+----------------+
| id        | int(11) unsigned | NO   | PRI | NULL    | auto_increment |主键            |
| host_name | varchar(255)     | NO   |     | NULL    |                |主机名          |
| host      | varchar(15)      | NO   |     | NULL    |                |ip              |
| is_enable | tinyint(3)       | NO   |     | 0       |                |是否可用        |
+-----------+------------------+------+-----+---------+----------------+----------------+

报警机制

通常都是通过调用脚本或一个url地址,进行邮件或短信处理,请自行修改

def waring(msg) :

添加报警处理

stools's People

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.