【问题标题】:Que failing with Distillery release and DockerQue 因 Distillery 版本和 Docker 失败
【发布时间】:2019-03-14 17:53:44
【问题描述】:

我已经使用 Distillery 设置了一个 Docker 环境来生成我的应用程序的发布。

我的应用程序使用 Que 添加一个这样的工人

case Que.add(SyncWorker, %{}) do
      {:ok, _job} -> {:ok, "Syncing..."}
      err -> {:error, "Error syncing: #{err}"}
end

但是,当调用此行时,我得到:

** (exit) exited in: GenServer.call({:global, {Que.Server, SolarisCards.ShopifyIntegration.Workers.SyncWorker}}, {:add_job, SolarisCards.ShopifyIntegration.Workers.SyncWorker, %{}}, 5000)
    ** (EXIT) an exception was raised:
        ** (UndefinedFunctionError) function ExUtils.Module.name/1 is undefined (module ExUtils.Module is not available)
            ExUtils.Module.name(SolarisCards.ShopifyIntegration.Workers.SyncWorker)
            (que) lib/que/server.ex:81: Que.Server.handle_call/3
            (stdlib) gen_server.erl:661: :gen_server.try_handle_call/4
            (stdlib) gen_server.erl:690: :gen_server.handle_msg/6
            (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
    (elixir) lib/gen_server.ex:989: GenServer.call/3
    (solaris_cards) lib/solaris_cards/setup.ex:12: SolarisCards.Setup.do_setup_data/0

在没有 docker 和 distillery 的情况下,它在本地运行良好,但不确定为什么它会在上面失败。

我还尝试按照文档中的描述运行预编译应用程序的命令,但没有成功。

iex(my_app@127.0.0.1)1> Que.Persistence.Mnesia.setup!

【问题讨论】:

  • @AlekseiMatiushkin 非常感谢,成功了!

标签: docker elixir phoenix-framework distillery que


【解决方案1】:

{:ex_utils, "~> 0.1.7"} 添加到 mix.exs 依赖项就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-18
    • 2017-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多