Add exception handling to the apns_sender script
This commit is contained in:
parent
d84a156a02
commit
92dd024805
1 changed files with 18 additions and 7 deletions
|
|
@ -7,6 +7,7 @@ import signal
|
|||
import sys
|
||||
import os
|
||||
import logging
|
||||
import socket
|
||||
|
||||
|
||||
|
||||
|
|
@ -22,7 +23,10 @@ def redisLoop(apns, logger):
|
|||
if data:
|
||||
info = data[1].split('|')
|
||||
logger.info("Token: " + info[0] + " message: " + info[1])
|
||||
send_notif(apns, info[0], info[1])
|
||||
try:
|
||||
send_notif(apns, info[0], info[1])
|
||||
except TypeError:
|
||||
logger.info("Invalid token: " + info[0])
|
||||
|
||||
|
||||
def sigint_handler(signal, frame):
|
||||
|
|
@ -31,7 +35,10 @@ def sigint_handler(signal, frame):
|
|||
def send_notif(apns, token_hex, message):
|
||||
#token_hex = '602E96BF9BC15D7913871D4D90FEBD7E265500C9D22DCEC5A4AFA3FC36EBE4DC'
|
||||
payload = Payload(alert=message, sound="default", badge=1)
|
||||
apns.gateway_server.send_notification(token_hex, payload)
|
||||
try:
|
||||
apns.gateway_server.send_notification(token_hex, payload)
|
||||
except socket.error:
|
||||
apns = setup_apns()
|
||||
|
||||
def get_logger():
|
||||
logger = logging.getLogger("apns_logger")
|
||||
|
|
@ -45,13 +52,17 @@ def get_logger():
|
|||
logger.addHandler(fh)
|
||||
return logger
|
||||
|
||||
def setup_apns():
|
||||
cert_file = "/root/ios_push_test/ios_prod.pem"
|
||||
apns = APNs(use_sandbox=True, cert_file=cert_file)
|
||||
return apns
|
||||
|
||||
|
||||
def main():
|
||||
logger = get_logger()
|
||||
logger.info("Starting apns_sender")
|
||||
cert_file = "/root/ios_push_test/ios_prod.pem"
|
||||
apns = APNs(use_sandbox=False, cert_file=cert_file)
|
||||
#apns = APNs(use_sandbox=False, cert_file=cert_file)
|
||||
apns = setup_apns()
|
||||
logger.info("Starting redis loop")
|
||||
redisLoop(apns, logger)
|
||||
|
||||
|
|
@ -60,6 +71,6 @@ def main():
|
|||
|
||||
|
||||
pid = "/tmp/apns_sender.pid"
|
||||
daemon = Daemonize(app="apns_sender", pid=pid, action=main)
|
||||
daemon.start()
|
||||
#main()
|
||||
#daemon = Daemonize(app="apns_sender", pid=pid, action=main)
|
||||
#daemon.start()
|
||||
main()
|
||||
|
|
|
|||
Loading…
Reference in a new issue