webcron

一个定时任务管理器,基于Go语言和beego框架开发。用于统一管理项目中的定时任务,提供可视化配置界面、执行日志记录、邮件通知等功能,无需依赖*unix下的crontab服务。

项目背景

开发此项目是为了解决本人所在公司的PHP项目中定时任务繁多,使用crontab不好管理的问题。我所在项目的定时任务也是PHP编写的,属于整个项目的一部分,我希望能有一个系统可以统一配置这些定时任务,并且可以查看每次任务的执行情况,任务执行完成或失败能够自动邮件提醒开发人员,因此做了这个项目。

功能特点

  • 统一管理多种定时任务。
  • 秒级定时器,使用crontab的时间表达式。
  • 可随时暂停任务。
  • 记录每次任务的执行结果。
  • 执行结果邮件通知。

界面截图

webcron 定时任务管理系统

安装说明

1、下载定时管理器

$ cd /opt
$ sudo go get github.com/lisijie/webcron
$ cd  go/src
$ sudo git clone https://github.com/lisijie/webcron.git

2、创建数据库

$ mysql -uroot -p
mysql > create database webcron;
mysql > exit;

3、导入数据

$ cd /opt/go/src/webcron
$ mysql -uroot -p -D webcron < ./install.sql

4用go build编译一个可执行文件webcron

$ cd /opt/go/src/webcron
$ go build

5、修改配置文件app.conf

$ sudo vim /opt/go/src/webcron/conf/app.conf
 
appname = webcron
httpport = 8000
runmode = dev
 
# 允许同时运行的任务数
jobs.pool = 10
 
# 站点名称
site.name = 定时任务管理器
 
# 数据库配置
db.host = 127.0.0.1
db.user = root
db.password = "123456"
db.port = 3306
db.name = webcron
db.prefix = t_
db.timezone = Asia/Shanghai
 
# 邮件服务器配置
mail.queue_size = 100
mail.from = "[email protected]"
#以下表示接收信息的是企业邮箱,个人邮箱则设为:smtp.qq.com
mail.host = "smtp.exmail.qq.com"
mail.port = 25 mail.user = "[email protected]"
mail.password = "123456"

6、运行webcon

$ ./webcron
$ nohup ./webcron 2>&1 > error.log & 

7、添加开机启动

# 编写启动脚本
$ vim /apt/webcron.sh
 
#!/bin/bash
 
cd /opt/go/src/webcron/ && go build
chmod +x /opt/go/src/webcron/webcron
/opt/go/src/webcron/webcron &
 
# 设置可执行权限
$ sudo chmod +x /apt/webcron.sh
 
# 添加开机启动
$ sudo vim /etc/rc.local
 
/bin/bash /apt/webcron.sh &

相关文章:

  • 2022-01-08
  • 2021-07-07
  • 2021-11-04
  • 2022-01-05
  • 2021-09-27
  • 2021-04-30
  • 2021-07-19
猜你喜欢
  • 2021-12-27
  • 2021-08-23
  • 2021-05-13
  • 2021-12-13
  • 2021-05-01
  • 2021-11-21
  • 2017-11-27
相关资源
相似解决方案