admin 管理员组

文章数量: 1184232

📝 面试求职: 「面试试题小程序」内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


背景: 我曾经在一个自动化测试平台中集成定时任务,基于 APScheduler 库花了好长时间解决重复执行的问题。定时任务集成在服务中也让服务变得复杂。最后,我们选择了公司其他团队go语言开发的一个定时任务服务。于是萌生了想法,和不用 Python实现一个通用的定时任务服务。于是,schedule-server应运而生。

GitHub地址: https://github/SeldomQA/schedule-server

schedule-server 特点

运行与部署简单。

基于HTTP触发请求。

支持三种类型的定时任务: crontab、 interval、 date

支持定时任务的 查询、 删除、 添加、 暂停/恢复等操作。

schedule-server 架构图


schedule_server: 核心功能是定时触发HTTP请求。

fontend: 通过前端UI管理定时任务。

you server: 在你的服务中通过调接口的方式管理定时任务。

SQLite: 用于保存定时任务服务。

Redis: 通过Redis锁解决重复触发的问题。

安装与运行

安装依赖

> cd schedule_server
> pip install -r requirements.txt

开发运行

> uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['/.../schedule-server/schedule_server']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [21905] using StatReload
INFO:     Started server process [21907]
INFO:     Waiting for application startup.

查看API

访问URL: http://127.0.0.1:8000/docs

前端服务

使用schedule_server服务可以不需要前端,但是,你想可视化的方法管理定时任务,我还为此专门开发了个前端服务。

安装依赖

>  npm install

运行服务

> npm run dev
> wiremock-ui@0.0.1 dev
> vite  
VITE v4.3.9  ready in 3426 ms
➜  Local:   http://localhost:5173/  
➜ Network: use --host to expose
➜  press h to show help

访问前端页面

访问url: http://localhost:5173/

定时类型

schedule-server支持三种定时类型:crontab、 interval、 date,可以满足不同的需求。

date类型

data类型比较简单,适合固定的 日期时间触发定时任务。

调用接口

URL:http://127.0.0.1:8000/scheduler/date/add_job

Method: POST

Type: JSON


前端配置

interval类型

interval适合间隔时间 重复执行的定时任务。

调用接口

URL:http://127.0.0.1:8000/scheduler/interval/add_job

Method: POST

Type: JSON


前端配置

cron类型

conn使一种复杂的定时任务,能够支持所有的定时任务需求。

调用接口

URL:http://127.0.0.1:8000/scheduler/cron/add_job

Method: POST

Type: JSON


可以参考这个网站学习:https://tooltt/crontab-parse/

前端配置

说明

作为独立的定时任务服务, seldom-platfrom平台已经以非常低的成本接入了schedule-server服务,用于实现测试任务的定时触发,这种服务拆分方式有利于后期项目的维护和可插拔。schedule-server项目本身也可以有更多的应用场景。


最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

本文标签: 工具 schedule Server