CC-3318: When changing stream settings (Liquidsoap + Pypo restart), sometimes Airtime does not resume playback

-initial commit
This commit is contained in:
Martin Konecny 2012-02-10 14:53:22 -05:00
parent babfa1830c
commit ccb942838a
2 changed files with 8 additions and 6 deletions

View File

@ -212,8 +212,7 @@ class PypoFetch(Thread):
logger.info("Restarting pypo...")
#p = Popen("/etc/init.d/airtime-playout restart >/dev/null 2>&1", shell=True)
#sts = os.waitpid(p.pid, 0)[1]
sys.exit()
self.process_schedule(self.schedule_data, "scheduler", False)
sys.exit(0)
else:
logger.info("No change detected in setting...")
self.update_liquidsoap_connection_status()
@ -490,11 +489,12 @@ class PypoFetch(Thread):
# Wait for messages from RabbitMQ. Timeout if we
# dont get any after POLL_INTERVAL.
self.connection.drain_events(timeout=POLL_INTERVAL)
status = 1
except socket.timeout, se:
# We didnt get a message for a while, so poll the server
# to get an updated schedule.
status, self.schedule_data = self.api_client.get_schedule()
if status == 1:
self.process_schedule(self.schedule_data, "scheduler", False)
except Exception, e:
"""
This Generic exception is thrown whenever the RabbitMQ
@ -506,8 +506,8 @@ class PypoFetch(Thread):
#return based on the exception
if status == 1:
self.process_schedule(self.schedule_data, "scheduler", False)
#if status == 1:
# self.process_schedule(self.schedule_data, "scheduler", False)
loops += 1
"""

View File

@ -68,6 +68,9 @@ class PypoPush(Thread):
self.schedule = scheduled_data['schedule']
self.playlists = scheduled_data['liquidsoap_playlists']
self.stream_metadata = scheduled_data['stream_metadata']
timenow = time.time()
logger.debug('timenow %s' % timenow)
logger.debug('schedule %s' % json.dumps(self.schedule))
logger.debug('playlists %s' % json.dumps(self.playlists))
@ -76,7 +79,6 @@ class PypoPush(Thread):
currently_on_air = False
if schedule:
timenow = time.time()
tnow = time.gmtime(timenow)
tcoming = time.gmtime(timenow + self.push_ahead)
str_tnow_s = "%04d-%02d-%02d-%02d-%02d-%02d" % (tnow[0], tnow[1], tnow[2], tnow[3], tnow[4], tnow[5])