周期性定时任务
本功能的整体创意来源于阿西莫夫三大定律的第二条,人工智能必需服从人类的命令。
[GaI] 应用端为人机交互界面。 [PyGai] 连接器为机器与机器之间的命令交互管道。
通过 [PyGai] 连接器,设定好周期性定时任务,[Gai] 应用端去执行这些任务并返馈结果,从而实现释放你的时间,把日复一日的周期性工作交给电脑来完成。
我们可以认为定时任务中任务,就是对人工智能所发起的命令。
这里有三个关键点:
1、谁发起的命令
2、具体命令是什么
3、结果返馈给谁
任务来源
应用端任务来源有两种,本地机和连接器。
-
来源于本地机
可以认为是来源于本地机已保存的提示语库中的某个选中提示语。 - 来源于连接器
可以认为是来源于HTTP请求发起后HTTP响应返回的提示语。
任务内容
什么时间要干什么事情
-
什么时间
时间可以为每分钟,每小时,每天,每月,每年等。只要是符合 cron expression的时间设定都可以使用。 - 干什么事情
这就是你提示语中要干的事情。书写高质量有价值的提示语才是人与类人的主要区别。
任务返馈
应用端任务返馈有两种,本地机和连接器
-
返馈给本地机
在本地机保存完整的日志记录,含任务结果是否成功,任务收获图文内容。 - 返馈给连接器
在本地机保存完整日志记录的同时,把执行成功后收到获的图文内容传送给连接器,连接器可以再次处理。 - 配套工具,邮件通知
你可以在应用端设定在任务执行完成后发邮件到你指定的邮箱,来实现无需现场守值。
使用定时任务管理器
应用首页,工具栏按5,进入定时任务面板,定时任务创建,标注如下:
1. 任务状态,run运行,stop停止,pause暂停(应用端重启后变运行),delete删除(应用端重启后删除);只有保存且run运行状态的任务才会到时执行。 2. 任务命名 3. 任务执行间隔时间,cron expression,可手动编写 4. 任务执行间隔时间,常用选项:每时、每日、每周、每月、每年 5. 任务来源类型,prompt为本地机保存的提示语,http为连接器输出的提示语 6. 任务来源位置,通过手动输入前缀字符串来选取具体位置 7. 任务返馈类型,history为本地机日志保存,http为连接器处理 8. 任务返馈位置,类型history时无需指定,类型http时可输入前缀字符串选取位置 9. 是否为单次任务 10. 是否在执行完成时邮件通知 11. 保存,保存即加入定时器处理队列,到时即会执行 12. 运行,手动单次运行(无11保存之功能),多作调试之用
注1:若需加载已保存任务,可通过类目面板C区,定时任务,进入任务列表后选定编辑。
注2: 新增Empty Input Silenced, 即输入内容为空时,是否要安静的跳过本次执行。
最佳实践:
场景A,把本地机提示语生成的图文转连接器再处理
场景B,从连接器获取提示语在本地机生成图文后转连接器再处理
定时任务类目面板
应用首页,工具栏按5,进入定时任务面板,标注如下:
A. 主功能区入口,B. 使用情况统计数据,C. 辅助功能菜单
1. 创建字面数据常量
2. 创建HTTP数据变量
3. 创建周期性定时任务
4. 已创建的字面常量列表
5. 已创建的HTTP变量列表
6. 已创建的定时任务列表
7. 已执行的定时任务日志信息
从连接器获取提示语
即向连接器提示语API接口发起HTTP请求并获得HTTP响应。
HTTP请求构成需要,地址URL,方法GET,头数据等。
让我们像用HTTP调试工具一样来构建一个HTTP请求吧。 1. 定义数据常量,如:API主机,API授权 2. 定义HTTP数据,如:URL,Header
定义数据常量
通过类目面板A区字面常量创建*进入编辑器。标注如下: 1. 常量类型,global全局,variable局部 2. 常量名称 3. 常量数据 4. 保存
定义HTTP变量
变量用{{}}符号作为定界符
变量名,通常由字母、数字和下划线组成,且开头必须是字母或下划线
通过类目面板A区HTTP变量创建*进入编辑器。标注如下: 1. 变量名称 2. 请求方法,get、post可选 3. 请求URL地址 4. 请求数据类型,header头数据,param查询参数,data表单数据 5. 请求数据名称 6. 请求数据赋值 7. 删除此条请求数据定义 8. 新增请求数据自定义,即开启4,5,6,7. 9. 保存
定时任务执行日志
通过类目面板C区,任务日志,进入日志列表。标注如下:
1. 日志标题,","号分隔数据为:状态、时间、名称
状态:S成功,F失败
-
阶段状态
In: 获取提示语,S成功,F失败;
Proc: 生成内容,S成功,F失败;
Out: 内容输出,S成功,F失败;
-
报错信息,若成功为空否则为错误信息
-
操作选项
delete: 删除此条日志
copy: 复制JSON格式祥细日志信息
HTTP定时任务管理器
HTTP定时任务与Cron定时任务的主要区别是,HTTP定时任务仅定时请求HTTP任务来源地址。并不会对任务来源地址的响应数据进行后续处理。
注:200状态码即为执行成功,这比较适合执行HTTP服务端定时任务。
- 任务状态, 同crontab.
- 任务命名, 同crontab.
- 任务执行间隔时间,同crontab.
- 任务执行间隔时间,常用选项:同crontab.
- 任务来源类型,指定为http.
- 任务来源位置,指定为http url.
- 任务返馈类型,指定为history, 本地机日志保存.
- 任务返馈位置,类型history时无需指定.
- 是否为单次任务, 同crontab.
- 是否在执行完成时邮件通知, 同crontab.
- 保存,同crontab.
- 不保存运行,多作调试之用, 同crontab.