From 56e336e82901bf74f8ff22a977517c0f5357d890 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Sun, 5 Aug 2018 13:34:06 +0800 Subject: [PATCH] Add redis to APNs sender python script --- utils/apns_sender/apns_sender.py | 50 ++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 utils/apns_sender/apns_sender.py diff --git a/utils/apns_sender/apns_sender.py b/utils/apns_sender/apns_sender.py new file mode 100644 index 00000000..773889b6 --- /dev/null +++ b/utils/apns_sender/apns_sender.py @@ -0,0 +1,50 @@ +from threading import Thread +from daemonize import Daemonize +from apns import APNs, Payload +import redis +import time +import signal +import sys +import os + + + +def sigint_handler(signal, frame): + print 'Interrupted' + sys.exit(0) + os._exit(0) + +def redisLoop(apns): + r = redis.StrictRedis(host='localhost', port=6379, db=0) + while 1: + time.sleep(0) + data = r.brpop("apns_push", 10) + if data: + info = data[1].split('|') + print "Token: " + info[0] + " message: " + info[1] + send_notif(apns, info[0], info[1]) + + +def sigint_handler(signal, frame): + print 'Interrupted' + sys.exit(0) + +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) + + +def main(): + cert_file = "/root/ios_push_test/motoliteUserDev.pem" + apns = APNs(use_sandbox=True, cert_file=cert_file) + redisLoop(apns) + + signal.signal(signal.SIGINT, sigint_handler) + + + +#pid = "/tmp/apns_sender.pid" +#daemon = Daemonize(app="apns_sender", pid=pid, action=main) +#daemon.start() +main()