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