CC-3318: When changing stream settings (Liquidsoap + Pypo restart), sometimes Airtime does not resume playback
-initial commit
This commit is contained in:
parent
babfa1830c
commit
ccb942838a
2 changed files with 8 additions and 6 deletions
|
@ -212,8 +212,7 @@ class PypoFetch(Thread):
|
||||||
logger.info("Restarting pypo...")
|
logger.info("Restarting pypo...")
|
||||||
#p = Popen("/etc/init.d/airtime-playout restart >/dev/null 2>&1", shell=True)
|
#p = Popen("/etc/init.d/airtime-playout restart >/dev/null 2>&1", shell=True)
|
||||||
#sts = os.waitpid(p.pid, 0)[1]
|
#sts = os.waitpid(p.pid, 0)[1]
|
||||||
sys.exit()
|
sys.exit(0)
|
||||||
self.process_schedule(self.schedule_data, "scheduler", False)
|
|
||||||
else:
|
else:
|
||||||
logger.info("No change detected in setting...")
|
logger.info("No change detected in setting...")
|
||||||
self.update_liquidsoap_connection_status()
|
self.update_liquidsoap_connection_status()
|
||||||
|
@ -490,11 +489,12 @@ class PypoFetch(Thread):
|
||||||
# Wait for messages from RabbitMQ. Timeout if we
|
# Wait for messages from RabbitMQ. Timeout if we
|
||||||
# dont get any after POLL_INTERVAL.
|
# dont get any after POLL_INTERVAL.
|
||||||
self.connection.drain_events(timeout=POLL_INTERVAL)
|
self.connection.drain_events(timeout=POLL_INTERVAL)
|
||||||
status = 1
|
|
||||||
except socket.timeout, se:
|
except socket.timeout, se:
|
||||||
# We didnt get a message for a while, so poll the server
|
# We didnt get a message for a while, so poll the server
|
||||||
# to get an updated schedule.
|
# to get an updated schedule.
|
||||||
status, self.schedule_data = self.api_client.get_schedule()
|
status, self.schedule_data = self.api_client.get_schedule()
|
||||||
|
if status == 1:
|
||||||
|
self.process_schedule(self.schedule_data, "scheduler", False)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
"""
|
"""
|
||||||
This Generic exception is thrown whenever the RabbitMQ
|
This Generic exception is thrown whenever the RabbitMQ
|
||||||
|
@ -506,8 +506,8 @@ class PypoFetch(Thread):
|
||||||
|
|
||||||
#return based on the exception
|
#return based on the exception
|
||||||
|
|
||||||
if status == 1:
|
#if status == 1:
|
||||||
self.process_schedule(self.schedule_data, "scheduler", False)
|
# self.process_schedule(self.schedule_data, "scheduler", False)
|
||||||
loops += 1
|
loops += 1
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -68,6 +68,9 @@ class PypoPush(Thread):
|
||||||
self.schedule = scheduled_data['schedule']
|
self.schedule = scheduled_data['schedule']
|
||||||
self.playlists = scheduled_data['liquidsoap_playlists']
|
self.playlists = scheduled_data['liquidsoap_playlists']
|
||||||
self.stream_metadata = scheduled_data['stream_metadata']
|
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('schedule %s' % json.dumps(self.schedule))
|
||||||
logger.debug('playlists %s' % json.dumps(self.playlists))
|
logger.debug('playlists %s' % json.dumps(self.playlists))
|
||||||
|
|
||||||
|
@ -76,7 +79,6 @@ class PypoPush(Thread):
|
||||||
|
|
||||||
currently_on_air = False
|
currently_on_air = False
|
||||||
if schedule:
|
if schedule:
|
||||||
timenow = time.time()
|
|
||||||
tnow = time.gmtime(timenow)
|
tnow = time.gmtime(timenow)
|
||||||
tcoming = time.gmtime(timenow + self.push_ahead)
|
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])
|
str_tnow_s = "%04d-%02d-%02d-%02d-%02d-%02d" % (tnow[0], tnow[1], tnow[2], tnow[3], tnow[4], tnow[5])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue