【发布时间】:2016-09-23 06:20:41
【问题描述】:
我使用heaps 构建了优先级队列。队列包含消息,这些消息应该按照优先级的顺序发送。但是,作为优先级值,我有一段时间后应该发送消息,例如我必须将一组消息放入队列:
(10, message1)
(15, message2)
(5, message3)
因此,按照优先级发送消息很容易。但是,如果我在将 messag3 放入队列 5 秒后首先发送它,我想确保下一条消息 message1 将在放入队列后 10 秒发送,给出 5 message3 发送后的秒数。有谁知道我如何做到这一点的任何例子?
【问题讨论】:
-
似乎存储应该发送消息的实际时间会更容易(例如
datetime.datetime实例)。在任何给定时间,都应该直接计算距离发送消息还有多长时间。 -
前面的评论是正确的:对于任何有意义的时间相关的调度,你必须使用绝对时间戳,否则你会累积小的时间错误。
标签: python python-2.7 timer heap priority-queue