Add redis to APNs sender python script
This commit is contained in:
parent
503b6334b6
commit
56e336e829
1 changed files with 50 additions and 0 deletions
50
utils/apns_sender/apns_sender.py
Normal file
50
utils/apns_sender/apns_sender.py
Normal 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()
|
||||
Loading…
Reference in a new issue