業(yè)務(wù)要求為防止主進程阻塞,將異步連接獨立出另一個worker進程并使用GlobalData組件將異步連接對象存儲起來,后續(xù)進行send操作指定指定該內(nèi)存數(shù)據(jù)發(fā)送到該異步接口中;
但目前遇到了GlobalData組件無法存儲的問題:
“Exception: Serialization of 'Closure' is not allowed in E:\phpStudy\PHPTutorial\WWW\engineeringSupervision\ProjectMaster\vendor\workerman\GlobalData\src\
Client.php:202”
問題可能表述不清,現(xiàn)在論壇請大神指導(dǎo)一下方案或者程序邏輯是否存在問題,在此感謝~
目前引入了https://opis.io/closure的 composer包對閉包函數(shù)進行序列化,解決了組件存儲閉包函數(shù)的相關(guān)報錯
composer require opis/closure
$b = \Opis\Closure\serialize($a);
echo $b . PHP_EOL;
$c = \Opis\Closure\unserialize($b);
$c();
但是還原的閉包函數(shù)依然無法對該保存的異步連接對象進行send發(fā)送消息
相關(guān)代碼: