Cron任务量子灵药

时间:2017-08-09 05:11:36

标签: elixir phoenix-framework cron-task

我想每分钟执行一次代码,并尝试使用以下代码尝试:

#your_app/mix.exs
defp deps do
    [{:quantum, ">= 1.9.1"},    
     #rest code
  end



#your_app/mix.exs
def application do
    [mod: {AppName, []},
     applications: [:quantum,
     #rest code         
   ]]
  end

#your_app/config/dev.exs
config :quantum, :your_app, cron: [
    # Every minute
    "* * * * *": fn -> IO.puts("Hello QUANTUM!") end
]

这是此问题How to run some code every few hours in Phoenix framework?

的答案之一

但是,当我执行iex -S mix时,它不显示任何消息,也不显示错误消息。

你知道问题是什么吗?

1 个答案:

答案 0 :(得分:3)

您提到的答案必须过时。根据{{​​3}},您需要创建自己的调度程序:

defmodule YourApp.Scheduler do
  use Quantum.Scheduler, otp_app: :your_app
end

lib / your_app.ex

中以工作人员身份启动它
children = [
  supervisor(YourApp.Repo, []),
  supervisor(YourApp.Endpoint, []),
  ...
  worker(YourApp.Scheduler, [])
]

使用以下格式在 config / dev.exs 中进行配置:

config :test, YourApp.Scheduler, jobs: [
  # Every minute
  {"* * * * *", fn -> IO.puts("Hello QUANTUM!") end}
]