轶哥

📚 Having fun with AI Agent. Always learning.

【视频】ChatGPT完整实现定时请求小系统
  •   更新:2023-03-01 00:14:24
  •   首发:2023-02-28 22:48:31
  •   源代码
  •   2282

实现预览:

scheduledrequestschatgpt.png

B站视频: https://www.bilibili.com/video/BV1u84y1E79f/?share_source=copy_web&vd_source=de30ad927aff7c4075790b558eb50e56

代码仓库:https://github.com/yi-ge/scheduled-requests

中文描述:

使用python3实现一个定时请求服务,要求如下:

1、数据库使用sqlite3,代码中需要处理数据库初始化,数据库存储的内容可能存在中文。

2、python使用flask监听8848端口。

3、首页返回html内容,页面内容使用中文,使用bootstrap美化页面。页面中使用jquery的ajax实现用户登陆、退出、展示任务列表的功能,后端对应实现/api/login(登陆成功后使用jwt生成token返回前端,前端收到token后存储到localStorage)、/api/logout接口,同时编写三个需要token认证(token通过header传递)的POST接口实现/api/add、/api/remove,/api/list,分别用于添加任务、移除任务、展示任务列表。添加任务时需要输入任务URL、请求方式(GET/POST)、请求参数(如果是POST请求则可以选择body类型为json、x-www-form-urlencoded),同时可以选择定时方式——cron类型或固定时间间隔,如果用户选择cron类型则需要输入cron表达式,如果选择固定时间间隔,则需要输入数字秒。

4、进入页面的时候判断是否是否已经登陆(localStorage中是否存在token),如果存在则显示任务界面,否则显示登录界面。

5、前端与后端所有的交互需要使用json格式。

6、在python启动的时候,通过SQL查询所有的任务,加载任务到APScheduler,按照任务要求的间隔或cron时间定时执行对应方法及以对应参数请求对应的URL。

7、在任务执行失败的情况下进行错误处理。

8、默认账户密码为:admin、admin。

请实现完整的python代码。

ChatGPT对该系统的介绍:

这个系统是一个定时请求服务,可以帮助用户定时请求指定的URL,并根据用户的需求设置不同的请求方式、请求参数、定时方式和定时规则。同时,该系统支持用户添加、删除和查询任务列表,具有很高的可定制性和易用性。

系统采用了Python3作为开发语言,使用Flask作为Web框架,SQLite3作为数据库存储,使用了Bootstrap和Font Awesome等前端框架和插件进行页面美化和交互。系统在启动时会自动加载所有任务,并根据任务的定时方式和规则定时执行请求任务。如果任务执行失败,系统还会进行错误处理。

用户首先需要登录系统才能使用系统的功能。登录成功后,用户可以进入任务列表页面,该页面会显示所有已经添加的任务信息,包括任务ID、请求的URL、请求方式、请求参数、时间间隔/Cron表达式、上次执行时间、下次执行时间、任务状态和操作(删除)。用户可以通过任务列表页面添加、删除和查询任务。

用户添加任务时,需要指定请求的URL、请求方式、请求参数以及定时方式和规则。定时方式有两种:时间间隔和Cron表达式。如果用户选择时间间隔,需要输入一个数字表示请求的时间间隔,单位为秒;如果用户选择Cron表达式,需要输入符合Cron规则的表达式。系统会根据用户输入的定时规则自动执行请求任务,并将请求结果存储到数据库中。

除了添加任务,用户还可以删除任务。删除任务时需要选择要删除的任务,并进行确认。在任务执行失败时,系统会进行错误处理,并在页面上提示用户错误信息。

总的来说,这个系统具有很高的可定制性和易用性,用户可以根据自己的需求添加、删除和查询任务,并根据不同的需求设置不同的请求方式、请求参数、定时方式和规则。该系统对于需要定时请求任务的用户非常实用,可以帮助用户省去手动定时请求任务的麻烦,提高工作效率。

打赏
交流区(1)
轶哥

本文目的在于体现当时GPT3的能力,如有定时请求任务需求请使用成熟的任务调度系统。

2023年9月5日 15:04回复
尚未登陆
发布
  上一篇 (frp更新中心API)
下一篇 (创建访客统计徽章)  

评论回复提醒