webcron 定时任务管理系统

 
更多

webcron

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

源项目地址

https://github.com/lisijie/webcron

项目背景

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

功能特点

统一管理多种定时任务。

秒级定时器,使用crontab的时间表达式。

可随时暂停任务。

记录每次任务的执行结果。

执行结果邮件通知。

界面截图

安装说明

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 = "test@test.com"

#以下表示接收信息的是企业邮箱,个人邮箱则设为:smtp.qq.com

mail.host = "smtp.exmail.qq.com"

mail.port = 25 mail.user = "test@test.com"

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 &

8、web界面管理

然后通过:

http://localhost:8000

即可进行访问。

打赏

本文固定链接: https://www.cxy163.net/archives/2944 | 绝缘体

该日志由 绝缘体.. 于 2024年07月06日 发表在 未分类 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: webcron 定时任务管理系统 | 绝缘体
关键字: , , , ,

webcron 定时任务管理系统:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter