私はいくつかのジョブを開始する前に考慮する必要があるブラックアウトの日付を持っているプロジェクトで作業しようとしています。私はこのような停電の日付のJSONセットを取得日付の範囲をPythonで処理する最良の方法
:下記の例を説明する
blackout1:
startTime: 1-1-2016
endTime: 1-10-2016
blackout2:
startTime: 1-5-2016
endTime: 1-11-2016
blackout3:
startTime: 2-2-2016
endTime: 2-3-2016
あなたがそれらのいくつかは重なって見ることができるといくつかのではないそうであるように。私はまた、以下のように特定の日付に実行するジョブのリストを取得する:
job1:
runDate: 1-3-2016
job2:
runDate: 1-13-2016
それがブラックアウト日に予定していないので、そう私の例では唯一のJOB2を実行する必要があります。 私の方法では、startTimeとendTimeの2つのセットを作成し、startTimeセットの最初の日付とendTimeの最後の日付を、ジョブを通過するときの最初のチェックの範囲として使用します。ジョブがこの範囲外の場合は実行するようにスケジュールを設定しますが、この範囲内にある場合はすべての日付に対してチェックします。私はパフォーマンスが向上するようにこの方法を取っているので、ジョブがこの範囲内にない場合は、すべてのブラックアウト日付をループしません。 これがこのシナリオを処理する最良の方法であるかどうか、私が最高のデータ構造を使用しているかどうかはわかりません。
さらなる考えを探しています。
ありがとうございます!
ブラックアウトの日付があまりにも多く、単純な直線的な通過がすべて遅すぎますか? –