問題タブ [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.
windows - Windows サービス内で APScheduler を実行するにはどうすればよいですか?
Python APScheduler を Windows サービスとして実行し、結果をテキスト ファイルに出力するプロジェクトに取り組んでいます。問題なくサービスをインストールして開始できます。
サービス内でスケジューラを実行するいくつかの方法を試しましたが、最も一般的で苛立たしい結果は、サービスを停止すると、スケジューラのスレッドがテキスト ファイルへの書き込みを続行することです。スレッドを強制終了するには、コンピューターを再起動する必要があります。
「ブロッキング」スケジューラと「バックグラウンド」スケジューラを試しましたが、同じように動作します。
scheduler.shutdown() を別の場所に移動して遊んでみました。それをサービス停止機能に配置し、サービスが停止コマンドを受け取るまでスケジューラを実行したいと思います。サービス停止機能はスケジューラのシャットダウンを処理します。
おそらく、あなたは私を正しい方向に向けることができますか?これは、コンピューターを再起動する必要がないようにサニタイズされたコードです。
python - cron 式から apscheduler ジョブ トリガーを作成する
Python で cron 式を使用してスケジュールされたジョブを実行しようとしています。私はpythonが初めてで、Javaでクォーツスケジューラを使用してほぼ同じことを達成しました。現在、Python で apscheduler を使用しようとしています。これを使用してこれを行うことが可能であることを知っています
crontrig = CronTrigger(minute='*', second = '*');
しかし、私は cron 式 (「0/5 * * * * *」など) を扱っていましたが、式を直接解析して CronTrigger を生成できるものがあるかどうかを知りたいです。
python-3.x - ボトルにスケジューラを追加する方法
私は Python と Bottle (および apscheduler) にまったく慣れていないので、スケジュールされたジョブを実装するための簡単な手順を教えていただければ幸いです。
私は、Web サイトの 1 つに表示されるステータスとデータを確認できる Python コードをいくつか書きました。ステータスをメールで送信するコードもいくつか書きました。
ここで、このコードを定期的に (たとえば 15 分ごとに) 呼び出す機能を追加したいと考えています。このためには、apscheduler が適切で軽量な自己完結型のソリューションのようです。
私が知りたいのは:
- Bottle Web サイトの開始時に BackgroundScheduler を開始できますか? (「起動」コードはどこにありますか?)
- また、BackgroundScheduler のインスタンスをグローバルにすることはできますか? その理由は、サイトの他の場所からアクセスして、ジョブを追加/削除/一時停止したいからです
他の誰かがここで同様の考えを持っているのを見ました.ボトルWebフレームワークでタスクスケジューラを実行することは可能ですが、詳細と答えは私のような初心者には詳細が少なすぎます.
おそらく sleep() を使用して同様のことを行うことができることは理解していますが、最初に apscheduler オプションを調べたいと思います。
Celery も調べましたが、私が構築しているこの小さな単一目的の Web アプリケーションにはやり過ぎだと思います。
Visual Studio 2013 で利用可能な Bottle プロジェクトを使用していることを付け加えておく必要があります。これには、特定の構成とファイルが既に含まれています。
python - Crontabはスーパーバイザーのpythonインスタンスを再起動しますか?
crontab を使用してスーパーバイザーの Python インスタンスを再起動しているときに、非常に奇妙な問題に直面しています。詳細は次のとおりです。
- いくつかのスケジュール ジョブ (apscheduler) を含む非常に単純な Python スクリプト
- スクリプトはスーパーバイザーで監視する必要があるため、いくつかの構成を行いましたが、これまでのところ問題なく動作しています。
毎日正午にスクリプトをリセットするという新しい要件が必要です。そこで、sudo crontab ジョブをセットアップして、スーパーバイザー インスタンスを再起動します。
/li>- すべて問題ないようです。インスタンスの実行時間を毎日確認しましたが、インスタンスが正しく再起動されたことを示しています。
- その後、インスタンスが自動的に再起動された後、スクリプトが起動されていないことに気付きました。
- しかし、スーパーバイザ コンソールで再起動リンクを使用すると、スクリプトが再起動して完全に機能します
python - 「interval」という名前のトリガーは見つかりませんでした
私は APScheduler を使用しており、コードを実行しようとすると、「'interval' という名前のトリガーが見つかりませんでした」というエラーが表示されます。
ローカル マシンでは完璧でしたが、クラウド マシンでも動作します。
私は試しました:pip、easy_install、および手動でapschedulerを再インストールします。setuptools のアップグレード; すべての依存関係をアップグレードします。
編集:コード
apscheduler - お仕事イベント開始?
ジョブの実行が開始されたときに通知を受け取る可能性はありますか?
apscheduler.events.EVENT_JOB_EXECUTED
ジョブが正常に実行されたことを検出する を見つけました。
python - ロガー「apscheduler.executors.default」のハンドラが見つかりませんでしたか?
Heroku の夜間ジョブで Python スクリプトを実行しています。時々 (そして最近はもっと多く)、以下のエラーが原因でスクリプトの実行に失敗します。
スクリプトは、Procfile で定義されている組み込みのクロック メソッドを使用して実行されます。
時計.py:
私は Web を検索しましたが、私が読んだいくつかの回答に基づいて、これはエラーではなく警告であると言われています。ただし、この問題が発生すると、スクリプト全体が失敗します。私の質問は最初です、これに対する修正はありますか?第二に、なぜこれが常にではなく時々起こるのでしょうか?
多くの人が、スクリプトに次を追加するだけだと言っています。
ご覧のとおり、私はそうしましたが、問題はまだ解決していません。
python - apscheduler スケジューラーのタイムアウト
私はpythonsのapschedulerに関して問題があります。
データベースからのデータのプルを含むタスクを実行しています。データベースの応答時間は、さまざまなソースからのさまざまな操作のために変化し、データベースの応答時間がいつ短くなるかを予測することはできません。
たとえば、実行中の場合
seconds パラメーターは、タスクが終了していない場合はタスクを停止し、次のタスクを開始します
秒パラメータを動的に変更する方法はありますか? または、デフォルト値の 0 を使用する必要がありますか?
乾杯
python - apscheduler に強制的にジョブ ストアにジョブを追加させるにはどうすればよいですか?
スクリプトを使用してapschedulerを使用してスケジューラにジョブを追加しています。残念ながら、スケジューラを起動していないため、スクリプトを使用するとジョブが適切にスケジュールされません。
次のメッセージが表示されます。apscheduler.scheduler - INFO - Adding job tentatively -- it will be properly scheduled when the scheduler starts
スクリプトはスケジューラにジョブを追加することになっています (その特定のインスタンスでスケジューラを実行するのではありません)。データベースに追加されたジョブのイベントに追加される他の情報があります。スケジューラーを実際に実行せずに、ジョブを追加してスケジューラーに強制的にジョブストアに追加させることはできますか?
各ジョブの追加後にスケジューラを起動およびシャットダウンして、スケジューラにジョブ情報をジョブストアに保存させることができることを私は知っています。それは本当に良いアプローチですか?
編集:私の当初の意図は、ソフトウェアの初期化プロセスを分離することでした。まだ開始されていないスケジューラにいくつかのジョブを追加したかっただけです。本当の問題は、ユーザーがスケジューラを開始および停止する許可を与えたことです。システムに実行中のスケジューラのインスタンスがあるかどうかは保証できません。ジョブの追加後にスケジューラを起動してシャットダウンすることで、問題を一時的に修正しました。できます。