heaps
を使用して優先度キューを構築しました。キューにはメッセージが含まれています。メッセージは優先順位に関する順序で送信する必要があります。Python:優先度として優先度キュー
(10, message1)
(15, message2)
(5, message3)
ので、優先順位、次のメッセージを送信することは容易である:ただし、優先順位の値として、私は、メッセージが送信されるまでの時間は、例えば、私はキューに入れて持っているメッセージのセットを持っています。しかし、最初にmessag3
をキューに入れてから5秒後に送信する場合は、次のメッセージmessage1
がキューに入れられてから10秒後に送信されるようにしたいと考えています。message3
送信します。どのように私はそれを行うことができますどのような例を知っていますか?
メッセージが送信されるべきであることを実際の時間を保存するために容易になるだろうように思える(例えば 'datetime.datetime'ここでは実際にはその短い例ですインスタンス)。どの時点でも、メッセージを送信するまでの時間を計算するのは簡単です。 – mgilson
前のコメント作成者は正しいです:意味のある時間関連のスケジューリングでは、絶対的なタイムスタンプを使用する必要があります。そうでなければ小さな時間エラーを累積します。 – Markus