gpt4 book ai didi

perl - 在进程之间共享一个复杂的对象

转载 作者:行者123 更新时间:2023-12-01 01:03:06 25 4
gpt4 key购买 nike

我想在进程之间共享一个 Mojo::Transaction::WebSocket 对象。

这样做的原因是我正在构建一个 websocket 聊天,我不想将 Mojolicious 限制为仅与一名 worker 一起运行。

Storable 对我不起作用,它只会给我带来奇怪的错误。

如有任何想法,我们将不胜感激。

最佳答案

您可以通过多种方式实现这一目标。共享 websocket 本身会很困难,需要对进程 fork /线程、共享文件描述符和 mojolicious 基础代码有深入的了解,这些很可能需要更改。

如果你的目标是负载平衡,或执行一些长时间运行的任务,你最好让你的 mojo 应用程序接受请求,并将其添加到队列系统,如 redis。您可以让多个进程监听特定请求、读取负载并通过队列发回响应。

如果您只是想出于其他目的访问 Mojo 应用程序的内部结构,请考虑使用您希望发布的数据证明一个 Restful 端点,

或者,您可以查看远程过程调用 (RPC),它允许您的 Mojo 进程调用函数,并将数据发送到其他进程。看RPC::Simple举个例子。

关于perl - 在进程之间共享一个复杂的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com