http://conby.com/page/create-c3-task-business-process-automation 简单说明
Task name: 必填,任务的名称,可用中文
Description: 描述任务,可用中文
Maillog: 如果填入为电子邮件,当task条件满足时,将会发送task的日志报告到填入的电子邮件
Conditions Type: 规定task的conditions(条件)之间的关系,OR为任意一个condition条件满足时触发action(动作). AND为所有condition条件同时满足时触发action(动作)
Condition Name: 必填,condition(条件)的名称,如果希望把本condition(条件)的结果作为变量在action(动作)中使用,请使用规范的变量字符(常规字符和数字,可含空格,空格在变量名中将自动转换为下划线)
Condition Type:
- crontab 为标准的Linux/Unix的crontab格式,条件满足时触发action(动作)
- post 为一个用户自定义的网址,系统将自动将payload使用HTTP协议的POST方法将数据发送过去,此时可以在eval中验证post回来的结果
- api 为C3系统的API调用,可接受payload
- due 为简单的时间到期检查,格式如 2010-01-01 10:30, 时间到达后,将自动触发 action(动作)
- hook 为系统钩或回调, 可以直接获取到 其他task某个action(动作)的运行结果,并在eval中验证post回来的结果
Spec 为根据不同的condition(条件) Type,填入相应的格式或者名称
Payload 为不同的condition(条件) Type下的参数,只对 api, post, hook有效. due和 crontab不需要填payload。 payload的格式为name=value&name2=value2, 其中value要求已经被urlencode, 系统的[result]将自动进行urlencode
eval 为Python规范的eval表达式,例如:
- ‘aa’==’aa’
- ‘[result]==’aa’, 其中[result]为系统token,表示前面的post,api或者hook的运行结果
- 1, 如果想不验证运行结果,直接让条件满足触发后面的动作,可以简单填入1
Action Name: 动作的名称, 如果需要在其他任务的hook中被使用,请使用规范的规范的变量字符(常规字符和数字,可含空格)
Action Type:
- api 为C3系统的API调用,可接受payload
- post 为一个用户自定义的网址,系统将自动将payload使用HTTP协议的POST方法将数据发送过去
- queue,基本与api相同,但此动作将会列入云计算平台的队列中异步执行,不会马上返回执行结果,如果希望获得此action的结果,请使用hook condition 方法
- map-reduce, 基本与queue相同,此action动作专门为map-reduce类型的大规模云计算设计,action(动作)将会列入云计算平台的队列中异步执行,不会马上返回执行结果,如果希望获得此action的结果,请使用hook condition 方法。如queue不同的是:
- Spec中需要填入完整的map-reduce api对。例如 c3_demo_mapper-c3_demo_reducer,用”-”分割,前面的代表map-reduce计算模型中的map方法,后面的代表map-reduce计算模型中的reduce方法
- Payload中需要指定map数据集,例如 map=1%2C2%2C3,%2C为“,”的urlencode后的表达方式。此例子表示map数据集有3项,分别为1,2,3。 常用的使用方式应该为map=[conditionname],直接使用condition(条件)的返回结果。系统将自动对[conditionname]进行urlencode。
- map-redude计算模式一般在2~3分钟内启动计算,经过多轮的map,recuce运算后,计算结果可以使用hook condition 方法获取(需另外创建一个task来hook这个action的运算结果). maillog只会发送同步action(动作)的结果,不会发送异步和任何queue类型的action(动作)的结果
如果需要终止task,或者修改task,请使用 C3 SDK开发包,或者直接登录 BPA系统进行修改. C3 SDK开发包下载地址:
http://conby.com/products_ch.html















