Avoid infinite events when system lags

This commit is contained in:
Némunaire 2012-10-15 02:46:23 +02:00
parent 29840f26e0
commit 6c1fb079de

6
bot.py
View File

@ -17,8 +17,10 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime from datetime import datetime
from datetime import timedelta
from queue import Queue from queue import Queue
import threading import threading
import time
import consumer import consumer
import event import event
@ -107,7 +109,9 @@ class Bot:
if len(self.events) > 0: if len(self.events) > 0:
#print ("Update timer, next in", self.events[0].time_left.seconds, #print ("Update timer, next in", self.events[0].time_left.seconds,
# "seconds") # "seconds")
if datetime.now() >= self.events[0].current: if datetime.now() + timedelta(seconds=5) >= self.events[0].current:
while datetime.now() < self.events[0].current:
time.sleep(0.6)
self.end_timer() self.end_timer()
else: else:
self.event_timer = threading.Timer( self.event_timer = threading.Timer(