問題タブ [apscheduler]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - uwsgi アプリで APScheduler を開始すると、ワーカーごとに 1 つのスケジューラーが作成されますか?
APScheduler のスケジューリング機能が必要なフラスコ アプリケーションがあります。質問は:
スケジューラ インスタンスはどこで開始しますか?
uwsgi+nginx を使用して、複数のワーカーでこのアプリケーションを提供していますが、スケジューラの複数のインスタンスがお互いに気付かないことになるのではないでしょうか? これが正しい場合、1 つのジョブが複数回トリガーされますね。
この場合、Scheduler インスタンスを 1 つだけにして、スケジュールされたジョブ内からアプリケーションのコンテキストにアクセスできるようにするための最善の戦略は何ですか?
この質問には、uwsgi の代わりに gunicorn を使用しても同じ問題がありますが、答えは似ている可能性があります。
以下は、「app」を uwsgi 呼び出し可能なアプリケーション オブジェクトとして定義するコードです。このコードを含むファイルは wsgi.py と呼ばれます (重要ではありません)。
python - ループからの Python Apscheduler cron ジョブがすべての異なるバージョンを実行しない
毎分取引所から何かを取得して保存する機能があります。(通常は優れた)APSchedulerを使用して関数を実行します。残念ながら、ループから cron ジョブを追加すると、期待どおりに動作しないようです。
getAndStore 関数を実行したい、いくつかの文字列を含む小さなリストがあります。私はこれを次のように行うことができます:
これは問題なく動作しますが、私はプログラマーで自動化が大好きなので、次のようにします。
これを実行すると、出力は次のようになります。
奇妙なことに、A、B、および C に対して開始するように見えますが、実際には C に対して cron を 3 回開始します。これは APScheduler のバグですか? それとも、ここで何か間違ったことをしていますか?
すべてのヒントは大歓迎です!
python - `/usr/bin/python' のエラー: 二重解放または破損 (out): 0x00007f7c3c017260
(優れた) Flask フレームワークを使用して、Python で Web サイトを開発しています。バックエンド コードでは、APScheduler を使用して cron のようなジョブを毎分実行し、Numpy を使用して標準偏差を計算しています。これらのモジュールの使用法が重要かどうかはわかりませんが、それらが原因である可能性が最も高いと思われるため、言及したほうがよいと思いました。
とにかく、操作の途中で、Python自体がクラッシュしたようで、次のようになりました。
間違っているかもしれませんが、私の知る限り、これはかなり深刻です。だから私の質問は実際です。何が原因で、このようなクラッシュに関する詳細情報を取得するにはどうすればよいですか? とは(out)
どういう意味ですか? これを再現することはできませんが、約 5 か月で 4 回発生しました。Ubuntuサーバー14.04で標準のPython 2.7を実行しています
私は周りを検索し、同様のクラッシュに関するいくつかの議論を見つけました.そのうちの1つが戻ってきました.
これをどのようにデバッグできるか、または何が原因である可能性があるかを誰かが知っている場合; すべてのヒントは大歓迎です!
concurrency - 設定した秒数後に APScheduler ジョブを終了する方法は?
APScheduler を使用して、毎分 API を呼び出すジョブをスケジュールします。私は今、次で終わる大規模なエラーを受け取ります:
そのため、API 呼び出しが何らかの形で応答を返さないため、終了しないと思います。これにより、最初のジョブが終了していないため、次のジョブの実行が禁止されます。このため、どういうわけか新しいジョブの実行を開始できません。
もちろん、同時に実行できるインスタンスの数を増やすこともできますが、それでは問題は本当に解決しません。特定の秒数(5秒としましょう)が経過してもジョブが終了しない場合は、ジョブを終了させる必要があると思います。
APScheduler で開始する API 呼び出しジョブが他にもいくつかあるので、APScheduler を使用してこれを解決できれば最高です。APScheduler が実行時間が長すぎるジョブを終了できるようにするかどうかを誰かが知っていますか、それとも別の方法でこれを解決する必要がありますか?
すべてのヒントは大歓迎です!
python - Python の Cron ベースのスケジューラ
1 時間ごとに実行される Python アプリがあり、DB 構成に基づいてスケジュールされたタスクを実行する必要があります。たとえば、構成は次のようになります。
- 毎日 15:00 に X を行う
- 毎週月曜日の 8:00 に Y を実行します
1 時間の遅延は問題ありません。
私はこれを自分で実装できますが、 APSchedulerのようなすぐに使えるソリューションがあるのだろうかと思いますが、それは常に実行されているわけではありません。
python-2.7 - ジョブを変更するのではなくコピーする (APScheduler)
APScheduler (v3.0.0) を使用してデータベース駆動型アプリケーションを作成しています。特に開発中は、後続のスケジュールに影響を与えずに、スケジュールされたジョブを今すぐ実行するように命令したいと思うことがよくあります。
もちろん、ジョブ作成時にこれを行うことは可能です。
ただし、間隔トリガーまたは日付トリガーを使用してスケジュールされたジョブが既にある場合は...
...スケジューラに「今すぐ開始するこのジョブのコピーを作成する」ように伝える良い方法はないようです。sched.reschedule_job(trigger=None)
ジョブを今すぐ開始するようにスケジュールしますが、既存のトリガーを削除します。
args
また、ジョブ オブジェクトとその他のステートフル プロパティを保持しながらジョブ オブジェクトを複製する明確で簡単な方法もありません。私が想像しているインターフェースは次のようなものです:
get_job
を繰り返し呼び出しても同じオブジェクト (つまり ) が返されないため、明らかに、APScheduler にはジョブ オブジェクトをコピーするための内部メカニズムが既に含まれています(sched.get_job(id) is sched.get_job(id))==False
。
他の誰かがここで解決策を思いつきましたか? そうでない場合は、開発者のサイトに提案を投稿することを考えています。
python - apscheduler でのジョブ履歴の維持
apscheduler を使用して、スクレイピースパイダーをスケジュールしています。実行されたすべてのジョブの履歴を維持する必要があります。私はmongodbジョブストアを使用しています。デフォルトでは、apscheduler は現在実行中のジョブの詳細のみを保持します。特定のジョブのすべてのインスタンスを保存するにはどうすればよいですか?