diff --git a/utils/apns_sender/apns_sender.py b/utils/apns_sender/apns_sender.py index b6062cc7..7fed3105 100644 --- a/utils/apns_sender/apns_sender.py +++ b/utils/apns_sender/apns_sender.py @@ -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()