11

【视频】ChatGPT完整实现定时请求小系统

 1 year ago
source link: https://www.wyr.me/post/733
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【视频】ChatGPT完整实现定时请求小系统 - 轶哥

【视频】ChatGPT完整实现定时请求小系统

实现预览:

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规则的表达式。系统会根据用户输入的定时规则自动执行请求任务,并将请求结果存储到数据库中。

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK