执行器类
Class: FunctionExecution
- Extends: Object
CloudPSS 当前执行器类。
functionExecution.id
执行器被创建时的任务ID。
functionExecution.functionId
执行器被创建时的任务函数ID。
functionExecution.executorId
执行器被创建时的执行器ID。
functionExecution.executorName
执行器被创建时的执行器名称。
functionExecution.executorVersion
执行器被创建时的执行器版本。
functionExecution.apiUrl
执行器被创建时的api地址。
functionExecution.gqlUrl
执行器被创建时的gql地址。
functionExecution.token
执行器被创建时的任务token。
functionExecution.functionToken
执行器被创建时的函数token。
functionExecution.args
执行器被创建时的函数参数。
FunctionExecution.current()
- 静态方法
- Returns: FunctionExecution 返回当前执行的 FunctionExecution 单例
获取当前执行的 FunctionExecution 单例。
FunctionExecution.current()
functionExecution.exit(code)
结束任务。调用此函数将导 致进程直接终止,调用前请完成清理工作。
f = FunctionExecution.current()
f.exit(0)
备注
当任务未被取消时,分别被标记为 'resolved'
和 'rejected;
当任务被取消时,分别被标记为 'aborted'
和 'rejected'
functionExecution.plot(traces=[], layout={}, title='', key=None, verb='replace')
- 实例方法
traces
: List 图表数据layout
: Dict 图表布局title
: String 图表标题key
: String 图表keyverb
: String 特殊谓词,图表操作类型:replace
插入内容append
追加内容
发送图表信息。
f = FunctionExecution.current()
f.plot(traces=[], layout={}, title='', key=None, verb='replace')
functionExecution.table(columns=[], title='', key=None, verb='replace')
- 实例方法
columns
: List 按列分组的表格内容title
: String 表格标题key
: String 表格消息 key,用于在多个消息中引用同一消息实体,以便进行更新,或将指定 key 的消息放入容器verb
String 特殊谓词,表格操作类型:replace
插入内容append
追加内容
发送表格信息。
f = FunctionExecution.current()
f.table(columns=[
{ 'name': 'col1', 'type': 'text', 'data': ['a', 'b', 'c'] },
{ 'name': 'col2', 'type': 'number', 'data': [1, 2, 3] },
], title='', key=None, verb='replace')
functionExecution.log(content, level='info', html=False, key=None)
- 实例方法
content
:String 日志内容level
:String 日志级别:info
: 运行信息warning
:警告信息error
: 错误信息verbose
: 详细信息debug
:调试信息critical
: 严重信息
html
: Boolean 是否为 html 内容key
: String 日志消息 key,用于在多个消息中引用同一消息实体,以便进行更新,或将指定 key 的消息放入容器
发送日志消息。
f = FunctionExecution.current()
f.log("日志测试内容", level='info', html=False, key=None)
functionExecution.container(items=[], layout={'type': 'tabs','position': 'top'}, key=None)
- 实例方法
items
: List 分组成员,如[{'title': 'tab1', 'placeholder': 'Data loading', 'html': false, 'query': {'type': 'message', 'key': 'item-1'}}]
position
: Dict 分组布局,如无特殊需求请直接使用{@link tabsContainer}
和{@link gridContainer}
key
: String 消息 key,用于在多个消息中引用同一消息实体,以便进行更新,或将指定 key 的消息放入容器
发送分组消息。
f = FunctionExecution.current()
f.container([{'title': 'tab1', 'placeholder': 'Data loading', 'html': false, 'query': {'type': 'message', 'key': 'item-1'}}], layout={'type': 'tabs','position': 'top'}, key=None)
functionExecution.tabsContainer(items=[], position='top', key=None)
- 实例方法
items
: List 分组成员,如[{'title': 'tab1', 'placeholder': 'Data loading', 'html': false, 'query': {'type': 'message', 'key': 'item-1'}}]
position
: String tab 位置:top
: 上bottom
: 下left
: 左right
: 右
key
: String 消息 key,用于在多个消息中引用同一消息实体,以便进行更新,或将指定 key 的消息放入容器
发送 tabs 布局分组消息。
f = FunctionExecution.current()
f.tabsContainer([
{ 'title': 'tab1', 'placeholder': 'Data loading', 'html': false, 'query': { 'type': 'message', key: 'message-key-1' } },
{ 'title': 'tab2', 'placeholder': 'Data loading', 'html': false, 'query': { 'type': 'message', 'key': 'message-key-2' } },
], position='top', key=None)
functionExecution.gridContainer(item=[], grid="'item1 . item2' 1fr 'item1 item3 item4' 1fr / 1fr auto 2fr", key=None)
- 实例方法
item
: List 分组成员,如[{title: 'item1', placeholder: 'Data loading', html: false, query: {type: 'message', key: 'item-1'}}]
grid
: String grid 布局,如'item1 . item2' 1fr 'item1 item3 item4' 1fr / 1fr auto 2fr
,详情参见 grid布局key
: String 消息 key,用于在多个消息中引用同一消息实体,以便进行更新,或将指定 key 的消息放入容器
发送 grid 布局分组消息。
f = FunctionExecution.current()
f.gridContainer([
[
{ 'title': 'item1', 'placeholder': 'Data loading', 'html': False, 'query': { 'type': 'message', 'key': 'message-key-1' } },
{ title: 'item2', placeholder: 'Data loading', html: False, query: { type: 'message', key: 'message-key-2' } },
{ title: 'item3', placeholder: 'Data loading', html: False, query: { type: 'message', key: 'message-key-3' } },
], `'item1 item2' 1fr 'item3 item3' 2fr / 1fr 2fr`, key=None)
functionExecution.progress(value=0, title='', key='progress-1')
- 实例方法
value
: Number 当前进度值,取值范围 0~1title
: String 进度标题key
: String 消息 key,用于在多个消息中引用同一消息实体,以便进行更新,或将指定 key 的消息放入容器,默认为:progress-1
发送进度信息。
f = FunctionExecution.current()
f.progress(0.1, '测试进度消息', 'progress-1')
functionExecution.on_abort(func, args=[], kwargs={})
监听前台的终止事件。
def exitCallback(a, b, c, d):
print('收到前台的退出通知,我准备退出,最后做点什么再关闭程序')
print("从 args 传入参数: 结束前做最后计算 a+b={0}".format(a + b), flush=True)
print("从 kwargs 传入参数", c, d, flush=True)
time.sleep(2)
print('我退出了')
job.exit(0)
f = FunctionExecution.current()
f.on_abort(exitCallback, args=(1, 2), kwargs={"c": 3, "d": {'e': 4}})