Add redis to APNs sender python script

This commit is contained in:
Kendrick Chan 2018-08-05 13:34:06 +08:00
parent 503b6334b6
commit 56e336e829

View file

@ -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()