分派器可以访问其父生产者方法/属性吗?

时间:2018-08-29 07:24:53

标签: elixir genstage

@behavior GenStage.Dispatcher制成的自定义调度程序可以访问其父模块,以{:producer, state, dispatcher: CustomDispatcher}的身份调用他吗?

我已经意识到调度程序是在与生产者相同的过程中启动的。

例如,如果我尝试从调度程序向生产者启动handle_call,那么我将收到:

GenStage.call(producer, :test)                   
** (exit) exited in: GenServer.call(#PID<0.1575.0>, :test, 5000)
    ** (EXIT) process attempted to call itself
    (elixir) lib/gen_server.ex:917: GenServer.call/3

因此,如果出现此错误,是否还有其他明显的方法可以访问生产者的方法?

我知道您可以使用params初始化调度程序,但是我想访问生产者方法/状态,因为它们是通过生产者回调修改的

0 个答案:

没有答案