异步处理相关函数
 
                  更新时间 2024-07-22 18:11:17
                 
 
                    最近更新时间: 2024-07-22 18:11:17
                  
 本文简述异步处理相关函数的语法、作用、入参、返回值、示例。
 ctyun.thread.run
函数信息详见下表:
| 项目 | 描述 | 
|---|---|
| 语法 | result,err = ctyun.thread.run(callback, arg1, arg2, ...) | 
| 作用 | 创建一个线程, 异步执行lua函数。主要使用场景为异步通知远端处理结果,不阻塞正常的业务流程。 | 
| 入参 | callback 为lua函数,arg1,arg2,...为lua函数的参数。 | 
| 返回值 | 创建成功返回true,失败返回false,以及错误信息err。 注意 :由于是独立的线程执行callback,跟正常的业务请求是独立的环境。在callback中不能使用跟请求属性相关的函数(ctyun.req和ctyun.resp以及ctyun.var)。如果需要用到相关的变量,请通过arg1,arg2,...参数传进去。 | 
示例:
local function test(url, body)
    local res, err = ctyun.query_remote(url, {
    method = "POST",
    body = body,
    headers = {
            ["Content-Type"] = "application/x-www-form-urlencoded",
        },
    }, 30000)
    if err then
        return
    end
end
ctyun.thread.run(test, "http://xy.ctyun.cn/session", "test bodyyyyyyy")
ctyun.resp.set_output("hello world")
结果:hello world
