webcron

Posted zhouxinfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webcron相关的知识,希望对你有一定的参考价值。

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

项目背景

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

功能特点

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

界面截图

 

 
技术分享图片

 

安装说明

系统需要安装Go和mysql

1、安装go语言环境(go1.9.2.linux-amd64.tar.gz):解压缩到路径/usr/local/go

go下载地址:https://dl.gocn.io/

2、 添加环境变量(vi /etc/profile):

export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
export GOPATH=/usr/local/webcron
export AUTO_GOPATH=1

 

3、获取源码(如git未安装则会报错)

$ go get github.com/lisijie/webcron

 

4 打开配置文件 conf/app.conf,修改相关配置(修改任务数和数据库配置 ):

appname = webcron

httpport = 8000

runmode = dev 

# 允许同时运行的任务数

jobs.pool = 50 

# 站点名称

site.name = 定时任务管理器

# 数据库配置

db.host = ip端口(192.168.11.11)

db.user = 用户名

db.password = 密码

db.port = 3306

db.name = dataserver

db.prefix = t_

db.timezone = Asia/Shanghai

# 邮件服务器配置

mail.queue_size = 100

mail.from = no-[email protected]

mail.host = smtp.example.com

mail.port = 25

mail.user = username

mail.password = your password

 

5 创建数据库webcron ,再导入install.sql

6 创建数据库表

  $ mysql -u username -p -D webcron < install.sql

 

7 编译构建webcron

  $  **cd** /usr/local/webcron/src/github.com/lisijie/webcron

  $  go build

 

8 运行webcron

$**cd** /usr/local/webcron/src/github.com/lisijie/webcron

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

 

设为后台运行

9 访问

http://localhost:8000

帐号:admin 密码:admin888

以上是关于webcron的主要内容,如果未能解决你的问题,请参考以下文章

webcron

Beego开源项目 收藏

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?