gpt4 book ai didi

phoenix-framework - 在 channel 中使用GenServer。如何持久化pid?

转载 作者:行者123 更新时间:2023-12-02 21:03:38 27 4
gpt4 key购买 nike

我正在我的 channel 类中调用 GenServer。 GenServer 需要一个 pid。如何保留该 pid,以便每次调用 GenServer 中的 join 方法时,我都可以使用相同的 pid 调用 GenServer?我应该将其保存在套接字参数中还是应该在 channel 和前端 javascript 之间来回传递它?

最佳答案

我自己最近也遇到了类似的问题,在处理 GenServer 时我选择使用名称而不是 pid。您可以将 name 参数传递给 GenServer.start_link/3,然后在其他调用中使用它(例如 GenServer.cast/2。在我的例子中我使用发送到 channel 的唯一 ID 来生成服务器名称(例如::"document-1")。

这种方法最大的缺点是BEAM对原子数量有限制,所以如果生成的名称数量太大,它可能会崩溃,所以在实现这个解决方案时必须考虑到这一点。

关于phoenix-framework - 在 channel 中使用GenServer。如何持久化pid?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37106605/

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