想把worker中接收的数据打印出来,但是work内部处可以正常打印obj.Name,但是printf函数打印变量为nil
function dpu_yinshan:printf(obj_name)
log:error('obj_name231 is %s', obj_name)
end
local w = worker.new(0)
function dpu_yinshan:task_update_yinshan_temp(obj)
w:start([[
local worker = ...
local log = require 'mc.logging'
local object_name = worker:recv()
log:error('execute123 %s', object_name)
local dpu_yinshan_obj = require 'dpu_service.dpu_yinshan_object'
while 1 do
dpu_yinshan_obj.printf(object_name)
worker:sleep(2000)
end
]])
w:send(obj.name, true)
end
换种方式,将object_name申明为全局变量,想把worker中接收的数据打印出来,worker内部处可以正常打印obj.Name,但是printf函数打印全局变量还是为nil
local object_name
function dpu_yinshan:printf()
log:error('obj_name231 is %s', object_name)
end
local w = worker.new(0)
function dpu_yinshan:task_update_yinshan_temp(obj)
w:start([[
local worker = ...
local log = require 'mc.logging'
object_name = worker:recv()
log:error('execute123 %s', object_name)
local dpu_yinshan_obj = require 'dpu_service.dpu_yinshan_object'
while 1 do
dpu_yinshan_obj.printf()
worker:sleep(2000)
end
]])
w:send(obj.name, true)
end
想咨询下如何将worker中接收到的变量在其他调用函数中可以用起来?