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