2017-01-20 11 views
2

私のニーズにあった解決策はありますか? 基本的には、APSchedulerで特定の機能を実行するスクリプトを実行しています。 スクリプトは5分ごとに機能を実行します。雲の上に連続してPythonスクリプトを実行する

PythonAnywhereは、APSchedulerをサポートしていないため、PythonAnywhereはそれを行うことができません。PythonAnywhereで無限ループを使用すると非常に悪い習慣です。

+1

定期的に(任意の時間にスケジュールするだけではなく)定期的に実行するので、cronジョブを設定することを検討しましたか? – Marat

答えて

2

無限ループ中にcronjobまたはヘルパースクリプトを使用して実行できます。

オプション1では、crontab -eと入力すると、cronジョブが設定されます。 cronエディタに入ると、さまざまな周波数の周波数を設定できます。 5分のcronジョブの場合、このコードは、Pythonスクリプト

import time 
...... 

while True: 
# your function 
    function() 
    sleep(300) 

5分間の実行を一時停止するスリープコマンドとして以下の設定コマンドのいくつかのバリエーションをだろう、オプション2について

*/5 * * * * /usr/bin/python /home/yourscript.py 

を動作するはずです。

PythonAnywhereで無限のwhileループを実行すると、あなたが書き込む効率的なコードに依存して、CPU時間割り当てが急速に失われることに注意してください。

2

HerokuおよびそのWorker Dynosを試すことができます。

AWSやGoogle Cloud Platformなどの他のサービスよりも設定が簡単です。あなたは無料で遊ぶための基本的なアカウントを持つことができます。

彼らはアドオンとしてHeroku Schedulerを持っています。無限を避けることができます。while

Herokuのスケジューラ

実行スケジュールされたタスクを10分ごとに、毎時間、または 毎日。 $ 0 /月から始まります。使いやす

スケジューラと

実行するジョブは、アドオンの多くの伝統的なサーバー環境でのcronのように、スケジュールされた時間間隔で あなたのアプリ上でジョブを実行しているためです。

関連する問題