【问题标题】:rs/pushd crashes when a new subscriber is received收到新订阅者时 rs/pushd 崩溃
【发布时间】:2015-02-05 17:57:06
【问题描述】:

我正在尝试使用https://github.com/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

崩溃发生在订阅者添加到数据库之前。

服务器是 AWS 上的 RHEL 微实例

版本

Redis 服务器 2.8.19。

Node.js 0.10.36.

CoffeeScript 1.9.0

任何帮助将不胜感激。

【问题讨论】:

    标签: node.js push-notification redis


    【解决方案1】:
    /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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      相关资源
      最近更新 更多