我想每分钟执行一次代码,并尝试使用以下代码尝试:
#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时,它不显示任何消息,也不显示错误消息。
你知道问题是什么吗?
答案 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}
]