@@ -37,7 +37,13 @@ class Scheduler(object):
"""
if isinstance(eta, datetime):
- eta = time.mktime(eta.timetuple())
+ try:
+ eta = time.mktime(eta.timetuple())
+ except OverflowError:
+ # this machine can't represent the passed in time as a unix timestamp
+ # just ignore this for now
+ self.logger.error("Cannot represent %s as a unix timestamp. Ignoring it." % eta)
+ return
eta = eta or time.time()
heapq.heappush(self._queue, (eta, priority, item, callback))