Phoenix/Elixir 后台工作者

Phoenix/Elixir Background workers

我需要在 Phoenix 中设置一个后台工作者并通过 Elixir send/receive 的通道与它通信 send/receive。

  1. 在 Phoenix 目录结构中,我应该将工作模块放在哪里(也许 lib?)
  2. 如何从渠道Load/Reference模块?
  1. 我认为这取决于这些模块的数量。如果你只有一个,你可以直接把它放到lib。如果有很多 worker 模块,我更愿意将它们放在 lib/workers 甚至 workers 中。在后一种情况下,您应该在 mix.exs.
  2. 中的 elixirc_paths 函数中列出 workers 文件夹
  3. 没什么特别的。 elixirc_paths 中提到的文件夹中的所有模块都将自动加载。