2016-08-13 11 views
3

私は違いが何であるかを思ったんだけどHeroku SchedulerアドオンとHeroku Temporize Schedulerアドオン。彼らはどちらも無料でスケジュールされた仕事をしているようです。Heroku SchedulerとHeroku Temporize Schedulerの違いは何ですか?

そして、どのように彼らの両方がHerokuのでPython schedを実行していると比較していますか?

私はいくつかのウェブサイトHerokuのPythonはPostgresのに保存して毎分をこすりするだけで1 cronジョブを実行したいと思います。 (私もそうするようにcronジョブで書くために何を把握しようとしているが、それは別の問題だ。)溶液で


更新:danneuの提案に

おかげで、作業をソリューションは、Herokuスケジューラを使用していました。 this tutorialのおかげでセットアップが簡単でした。

(私はSCHEDとツイスト使用してみましたが、両方の時間は、私が得た:

Application Error 
An error occurred in the application and your page could not be served. Please try again in a few moments. 

If you are the application owner, check your logs for details. 

これは、正しい場所にそれらを置くの経験の私の不足のために、おそらくだったそれはでは動作しませんでした。同期ワーカーHerokuののguricorn。私は詳細を知らない。)

答えて

2

取り繕うは、サードパーティのサービスです。彼らの自由な計画の限界を読まなければならないでしょう。無料プランは1日に20回のタスクしか実行できないように見えますが、これは1分間隔のニーズからははるか遠いです。

Herokuののスケジューラは、Herokuので提供されています。それは、各タスクのためのサーバーをスピンアップし、実行時に請求します。 Herokuスケジューラーの最小タスク間隔は10分です。これはあなたに必要なものを与えません。ページを掻き取って1分間隔で

、私はちょうど私のHerokuのアプリプロセスで同時ループを実行すると思います。 JavascriptのsetTimeoutは、(ノードを使用していた場合)アプリケーションサーバーと並行して実行できる並行ループの例です。 PythonのschedリンクのTwistedの例は、Pythonの同等のものです。

あなたがHerokuのフリー層(IRCであなたを見ていると思います)を使用している場合、アカウントを確認したら毎月1,000時間のランタイムが得られます(それ以外の場合は550時間しかかかりません)。それらにあなたのクレジットカード番号を与えることを意味します。単一のdynoが無料で1ヶ月間実行されるには、1,000時間で十分です。

ただし、HTTP要求を受信せずにX分経過した場合、フリーティアdynoはスリープします(オフになります)。当然のことながら、Twisted/Concurrentループアプローチは、ループがアプリケーションプロセス内で実行されているので、dynoが起動して実行されている間のみ動作します。

あなたのdynoがスリープ状態になると、あなたのdynoが復帰して再開するまで同時ループが停止します。

あなたのdynoを1ヶ月間起きておきたい場合は、dynoを$ 7/moにアップグレードすることができます。

関連する問題