我有一个Node项目,它使用fork()
生成多个子进程。当我分叉一个子进程时,我能够使用子进程send()
方法传递消息没有问题。但是,我尝试将应用程序扩展为群集,这意味着没有共享内存,因此我将Redis添加为共享数据存储。
我最初尝试使用JSON.serialize来存储由fork()
调用创建的ChildProcess对象,但这会导致循环JSON错误。所以我尝试使用circular-json
包来序列化它;这工作,但当我解析(反序列化)它并尝试使用它发送消息时,我收到一个错误,指出TypeError: child[id].send is not a function
。然后我尝试了node-serialize
包,但是当我尝试序列化新创建的ChildProcess对象时,我收到一条错误,指出TypeError: obj.hasOwnProperty is not a function
。
有没有办法序列化和反序列化保留其方法/函数的Node ChildProcess对象?