Fix apns sender logging #162

This commit is contained in:
Kendrick Chan 2018-08-15 14:14:23 +08:00
parent e3a0e8e23c
commit 198eab156c

View file

@ -6,27 +6,26 @@ import time
import signal import signal
import sys import sys
import os import os
import logging
def sigint_handler(signal, frame): def sigint_handler(signal, frame):
print 'Interrupted'
sys.exit(0) sys.exit(0)
os._exit(0) os._exit(0)
def redisLoop(apns): def redisLoop(apns, logger):
r = redis.StrictRedis(host='localhost', port=6379, db=0) r = redis.StrictRedis(host='localhost', port=6379, db=0)
while 1: while 1:
time.sleep(0) time.sleep(0)
data = r.brpop("apns_push", 10) data = r.brpop("apns_push", 10)
if data: if data:
info = data[1].split('|') info = data[1].split('|')
print "Token: " + info[0] + " message: " + info[1] logger.info("Token: " + info[0] + " message: " + info[1])
send_notif(apns, info[0], info[1]) send_notif(apns, info[0], info[1])
def sigint_handler(signal, frame): def sigint_handler(signal, frame):
print 'Interrupted'
sys.exit(0) sys.exit(0)
def send_notif(apns, token_hex, message): def send_notif(apns, token_hex, message):
@ -34,17 +33,33 @@ def send_notif(apns, token_hex, message):
payload = Payload(alert=message, sound="default", badge=1) payload = Payload(alert=message, sound="default", badge=1)
apns.gateway_server.send_notification(token_hex, payload) apns.gateway_server.send_notification(token_hex, payload)
def get_logger():
logger = logging.getLogger("apns_logger")
logger.setLevel(logging.INFO)
fh = logging.FileHandler("/tmp/apns_sender.log")
fmt = '%(asctime)s - %(threadName)s - %(levelname)s - %(message)s'
formatter = logging.Formatter(fmt)
fh.setFormatter(formatter)
logger.addHandler(fh)
return logger
def main(): def main():
cert_file = "/root/ios_push_test/motoliteUserDev.pem" logger = get_logger()
apns = APNs(use_sandbox=True, cert_file=cert_file) logger.info("Starting apns_sender")
redisLoop(apns) cert_file = "/root/ios_push_test/ios_prod.pem"
apns = APNs(use_sandbox=False, cert_file=cert_file)
logger.info("Starting redis loop")
redisLoop(apns, logger)
signal.signal(signal.SIGINT, sigint_handler) signal.signal(signal.SIGINT, sigint_handler)
#pid = "/tmp/apns_sender.pid" pid = "/tmp/apns_sender.pid"
#daemon = Daemonize(app="apns_sender", pid=pid, action=main) daemon = Daemonize(app="apns_sender", pid=pid, action=main)
#daemon.start() daemon.start()
main() #main()