on_ext_request

on_ext_request(task, request, params)

使用范围: server

编程语言: python

父类: Task 类

描述说明

使用 on_ext_request 事件将请求发送到服务器中进行处理。

task 参数是指向 task 树 的一个引用。

request 参数是一个必须以 “/ext” 开始的字符串。可以有一个参数列表。

示例

下面,应用程序会每隔 60 秒向 Demo 应用程序的服务端发送一个请求。

#!/usr/bin/env python

try:
    # For Python 3.0 and later
    from urllib.request import urlopen
except ImportError:
    # Fall back to Python 2's urllib2
    from urllib2 import urlopen
import json
import time

def send(url, request, params):
    a = urlopen(url + '/' + request, data=str.encode(json.dumps(params)))
    r = json.loads(a.read().decode())
    return r['result']['data']

if __name__ == '__main__':
    url = 'http://127.0.0.1:8080/ext'
    while True:
        result = send(url, 'get_sum', [1, 2, 3])
        print(result)
        time.sleep(60)

服务端将处理这个请求并返回参数的和。必须在任务服务端模块中声明 on_ext_request 方法:

def on_ext_request(task, request, params):
    #print request, params
    reqs = request.split('/')
    if reqs[2] == 'get_sum':
        return params[0] + params[1] + params[2]

另请参见

on_request

如何创建注册表单窗体

如何处理请求或从其他应用程序及服务获取数据