0

私はpythonsのapschedulerに関して問題があります。

データベースからのデータのプルを含むタスクを実行しています。データベースの応答時間は、さまざまなソースからのさまざまな操作のために変化し、データベースの応答時間がいつ短くなるかを予測することはできません。

たとえば、実行中の場合

    scheduler.add_interval_job(self.readFromDb, start_date = now(), seconds=60)

seconds パラメーターは、タスクが終了していない場合はタスクを停止し、次のタスクを開始します

秒パラメータを動的に変更する方法はありますか? または、デフォルト値の 0 を使用する必要がありますか?

乾杯

4

1 に答える 1

1

「seconds」パラメーターは、ジョブにかかる時間を制限するものではなく、途中で終了することもありません。ただし、デフォルト設定では、前のインスタンスが指定された間隔 (ここでは 60 秒) より長くかかっている場合、ジョブの別のインスタンスが生成されるのを防ぎます。私の見方では、ここには 2 つのオプションがあります。

  1. タスクの新しいインスタンスが開始に失敗することがあるという事実を無視する
  2. max_instances パラメーターをデフォルトの 1 から増やして、タスクの複数のインスタンスを同時に実行できるようにします。
于 2015-03-02T13:49:55.363 に答える