2017-08-09 17 views
2

私は、コード毎分を実行したいと私は次のコードを使用しての試みを試してみました:cronタスク量子エリキシル

#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を実行すると、メッセージは表示されず、エラーメッセージも表示されません。

問題の原因を知っていますか?

+0

量子2.0.0でですか? v2でAPIを大幅に変更したようです。 https://hexdocs.pm/quantum/migrate-v2.htmlおよびhttps://hexdocs.pm/quantum/readme.htmlを参照してください。彼らには更新された指示があります。 – Dogbert

+0

はい、私は量子2.0.0を使用しています、私はまた、ドキュメントが言うことを試みたが、まだ動作していません。 –

答えて

2

あなたが紹介した回答は古いものでなければなりません。よるとdocumentation独自のスケジューラを作成する必要があります。

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, []) 
] 

に労働者として、それを起動して、設定で設定

/使用をdev.exs次の形式:

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

** lib/your_app.ex ** –

+0

に従業員を追加したときにうまくいきました。申し訳ありませんが、私のアプリケーションに 'test'という名前を付けましたが、答えとして' Test'と 'test'を' YourApp'と 'your_app '。どこにもないように見えます。 –

+0

素晴らしい!、あなたの答えに感謝 –

関連する問題