Skip to content

基于flask和apscheduler的可视化操作任务调度系统,支持一次性任务、定时任务、周期任务。

License

Notifications You must be signed in to change notification settings

jinsanity07/TaskScheduler

 
 

Repository files navigation

基于flask和apscheduler的可视化操作任务调度系统,支持一次性任务、定时任务、周期任务。

基于JobCenter修改

特点:

  • 可视化界面操作
  • 定时任务统一管理
  • 完全兼容Crontab
  • 支持秒级定时任务
  • 作业任务可搜索、暂停、删除
  • 作业任务持久化存储、三种不同触发器类型作业动态添加

用法:

$ git clone git@github.com:barry-ran/TaskScheduler.git
$ cd TaskScheduler
$ pipenv install --dev
$ pipenv shell
# 先在config.py中的mysql_info配置数据库用户名、密码
# 需提前创建数据库(jobs),空数据库即可
$ flask init 

$ flask run
* Running on http://127.0.0.1:5000/

# 开启外网访问
flask run --host 0.0.0.0 --port 5000

常用命令

$ pipenv install  # 创建虚拟环境并安装依赖
$ pipenv shell  # 激活虚拟环境
$ flask initdb  # 初始化数据库
$ flask initdb --drop # 删除数据

介绍

APScheduler工作流程图

清爽的登录界面

内置管理员账户,可直接登录

针对不同触发器动态增加定时任务

例如下面添加了一个每隔60s定时爬取小姐姐图片的python脚本任务(脚本在jobs/crawler_girls.py中)

任务执行输出日志持久化存放并展示

可以在任务输出中查看我们已经爬取到了小姐姐图片地址

任务列表中暂停、恢复已添加定时任务

开发相关

ubuntu安装mariadb

# 安装服务
apt-get install mariadb-server
# 启动
sudo systemctl start mariadb
sudo systemctl enable mariad
# 设置密码(第一次安装密码为空,直接回车即可)
mysql -u root -p
use mysql;
update user set authentication_string=password("123456") where user="root";
flush privileges;

# 设置允许用户密码登录(ubuntu下需要)
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;
# 创建数据库
create database jobs;

参考文档: ubuntu18.04下安装mariaDB

MariaDB设置密码

About

基于flask和apscheduler的可视化操作任务调度系统,支持一次性任务、定时任务、周期任务。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • ObjectScript 0.2%
  • Java 0.1%
  • Classic ASP 0.1%
  • C# 0.1%
  • Visual Basic .NET 0.1%