2015-02-05 2 views
0

Я пытаюсь использовать https://github.com/rs/pushd в качестве сервера push-уведомлений.rs/pushd сбой при получении нового абонента

Всякий раз, когда я пытаюсь добавить новый подписчик, сервер падает с этой трассировкой стеки:

/home/ec2-user/push_server/pushd/node_modules/redis/index.js:602 
       throw err; 
        ^
TypeError: Cannot set property 'id' of null 
    at /home/ec2-user/push_server/pushd/lib/api.coffee:20:21 
    at /home/ec2-user/push_server/pushd/lib/subscriber.coffee:133:21 
    at try_callback (/home/ec2-user/push_server/pushd/node_modules/redis/index.js:592:9) 
    at RedisClient.return_reply (/home/ec2-user/push_server/pushd/node_modules/redis/index.js:685:13) 
    at HiredisReplyParser.<anonymous> (/home/ec2-user/push_server/pushd/node_modules/redis/index.js:321:14) 
    at HiredisReplyParser.emit (events.js:95:17) 
    at HiredisReplyParser.execute (/home/ec2-user/push_server/pushd/node_modules/redis/lib/parser/hiredis.js:43:18) 
    at RedisClient.on_data (/home/ec2-user/push_server/pushd/node_modules/redis/index.js:547:27) 
    at Socket.<anonymous> (/home/ec2-user/push_server/pushd/node_modules/redis/index.js:102:14) 
    at Socket.emit (events.js:95:17) 
    at Socket.<anonymous> (_stream_readable.js:765:14) 
    at Socket.emit (events.js:92:17) 
    at emitReadable_ (_stream_readable.js:427:10) 
    at emitReadable (_stream_readable.js:423:5) 
    at readableAddChunk (_stream_readable.js:166:9) 
    at Socket.Readable.push (_stream_readable.js:128:10) 
    at TCP.onread (net.js:529:21) 

Это команда, которая должна добавить новый абонент (пример из документации), и вызывает сбой:

curl -d proto=apns -d token=FE66489F304DC75B8D6E8200DFF8A456E8DAEACEC428B427E9518741C92C6660 -d lang=fr -d badge=0 -d category=show -d contentAvailable=true http://localhost/subscribers 

Аварийный сигнал происходит до того, как абонент будет добавлен в базу данных.

Сервер представляет собой микро экземпляр RHEL на AWS

Версии

Redis сервера 2.8.19.

Node.js 0.10.36.

CoffeeScript 1.9.0

Любая помощь будет оценена.

ответ

3
/lib/event.coffee 
-  throw new Error("Missing redis connection") if not redis? 
+  throw new Error("Missing redis connection") if not @redis? 
/lib/subscriber.coffee 
-    if info?.updated? # subscriber exists 
+    if @info?.updated? # subscriber exists 
        # transform numeric value to number type 
-     for own key, value of info 
+     for own key, value of @info 
+0

Perfect. Это решило проблему! Большое спасибо за это ! – Ralph

Смежные вопросы