我需要让GenServer监视器成为一项任务,因此,我这样做:
GenServer.call(server_pid, {:monitor_task, self()})
Run Code Online (Sandbox Code Playgroud)
在服务器中:
def handle_call({:monitor_task, task_pid}, _from, state) do
ref = Process.monitor(task_pid)
{:reply, ref, state}
end
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
** (stop) exited in: GenServer.call(#PID<0.768.0>, {:monitor_task, #PID<0.849.0>}, 5000)
** (EXIT) bad return value: :ok
Run Code Online (Sandbox Code Playgroud)
任何的想法?
handle_info调用Logger 的回调需要返回,{:noreply, state}或者{:stop, reason, state}对Logger的调用返回:ok,这是回调的无效返回值,并且是导致您看到的错误的原因.
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |