def schedule(self, delivery_time, receiver, *args, **kwargs):
def schedule(self, delivery_time, receiver, *args, **kwargs):
heapq.heappush(self.messages, (delivery_time, receiver, args, kwargs))
heapq.heappush(self.messages, (delivery_time, receiver, args, kwargs))
t, receiver, args, kwargs = heapq.heappop(self.messages)
try:
receiver(*args, **kwargs)
t, receiver, args, kwargs = heapq.heappop(self.messages)
try:
receiver(*args, **kwargs)