周期性定时任务

本功能的整体创意来源于阿西莫夫三大定律的第二条,人工智能必需服从人类的命令。

[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变量创建*进入编辑器。标注如下: HTTP变量编辑 1. 变量名称 2. 请求方法,get、post可选 3. 请求URL地址 4. 请求数据类型,header头数据,param查询参数,data表单数据 5. 请求数据名称 6. 请求数据赋值 7. 删除此条请求数据定义 8. 新增请求数据自定义,即开启4,5,6,7. 9. 保存

定时任务执行日志

通过类目面板C区,任务日志,进入日志列表。标注如下:

任务执行日志 1. 日志标题,","号分隔数据为:状态、时间、名称

状态:S成功,F失败
  1. 阶段状态

    In: 获取提示语,S成功,F失败;

    Proc: 生成内容,S成功,F失败;

    Out: 内容输出,S成功,F失败;

  2. 报错信息,若成功为空否则为错误信息

  3. 操作选项

    delete: 删除此条日志

    copy: 复制JSON格式祥细日志信息

HTTP定时任务管理器

HTTP定时任务与Cron定时任务的主要区别是,HTTP定时任务仅定时请求HTTP任务来源地址。并不会对任务来源地址的响应数据进行后续处理。

注:200状态码即为执行成功,这比较适合执行HTTP服务端定时任务。

HTTP定时任务管理器

  1. 任务状态, 同crontab.
  2. 任务命名, 同crontab.
  3. 任务执行间隔时间,同crontab.
  4. 任务执行间隔时间,常用选项:同crontab.
  5. 任务来源类型,指定为http.
  6. 任务来源位置,指定为http url.
  7. 任务返馈类型,指定为history, 本地机日志保存.
  8. 任务返馈位置,类型history时无需指定.
  9. 是否为单次任务, 同crontab.
  10. 是否在执行完成时邮件通知, 同crontab.
  11. 保存,同crontab.
  12. 不保存运行,多作调试之用, 同crontab.