Node-redis: рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: decr . рдХреА рдХреЗрд╡рд▓ рд╕рдВрдкрддреНрддрд┐ 'рдХреЙрд▓рдмреИрдХ' рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдЗрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬреВрди 2016  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: NodeRedis/node-redis

  • рд╕рдВрд╕реНрдХрд░рдг : рдиреЛрдб рд░реЗрдбрд┐рд╕ 2.6.2
  • рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдо : рдЙрдмрдВрдЯреВ 14.04 рдкрд░ рдиреЛрдб 4.4.5
  • рд╡рд┐рд╡рд░рдг :
    рд░реЗрдбрд┐рд╕ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдСрдирд▓рд╛рдЗрди рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд░рд╣рддреА рд╣реИ:
    TypeError: Cannot assign to read only property 'callback' of decr
    at RedisClient.internalSendCommandWrapper (/home/alex/node_modules/newrelic/lib/instrumentation/redis.js:76:22)
    at RedisClient.wrappedFunction [as internal_send_command] (/home/alex/node_modules/newrelic/lib/transaction/tracer/index.js:354:24)
    at RedisClient.(anonymous function).RedisClient.(anonymous function) (/home/alex/node_modules/redis/lib/commands.js:45:25)
    at Socket.eval (eval at <anonymous> (/home/alex/server2.js:2:52), <anonymous>:2456:12)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at Socket.emit (/home/alex/node_modules/socket.io/lib/socket.js:128:10)
    at Socket.onclose (/home/alex/node_modules/socket.io/lib/socket.js:425:8)
    at Client.onclose (/home/alex/node_modules/socket.io/lib/client.js:232:24)
    at Client.onerror (/home/alex/node_modules/socket.io/lib/client.js:213:8)

рдХреЛрдб рд╣реИ:

    db.decr('online',function(err){
        if(err){
            console.log('DECREMENTING ONLINE NUMBER FAILED:');
            console.log(err);
        }
        console.log('DECREMENTING ONLINE NUMBER WAS SUCCESSFUL!');
    });

рдореИрдВ рдЗрд╕реЗ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕рд╛рдЗрдЯ рдкрд░ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рд╣реЛрддреЗ рд╣реИрдВред рдЬрдм рдпрд╣ рдХреЗрд╡рд▓ рдореИрдВ рдФрд░ рдХреБрдЫ рдорд┐рддреНрд░ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдареАрдХ рд╕реЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ рдФрд░ рдореВрд▓реНрдп рдореЗрдВ рдХрдореА рдЖрдИ рд╣реИред

рд╡реИрд╕реЗ рдпрд╣ рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд┐рдирд╛ рднреА рд╣реЛрддрд╛ рд╣реИ (рдмрд╕ db.decr('online')), рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ рдЬреЛрдбрд╝рд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛ред

рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдХреЛрдб рддрдм рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЕрдзрд┐рдХ рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рди рдХрд░реЗрдВред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ .decr рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИ рдпрд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ [email protected] рдФрд░ [email protected] рд╕рд╛рде рдорд╛рд░рд╛ рд╣реИред newrelic рдХреЛ рд╡рд╛рдкрд╕ 1.28.0 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, redis 2.6.2 рдФрд░ newrelic 1.28.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдмрд╕ рдЗрд╕реЗ рд▓реЙрдЧ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ db.get() рдХреЙрд▓ рднреА рдХрднреА-рдХрднреА рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддреЗ рд╣реИрдВ:

    TypeError: Cannot assign to read only property 'callback' of get
    at RedisClient.internalSendCommandWrapper (/home/alex/node_modules/newrelic/lib/instrumentation/redis.js:76:22)
    at RedisClient.wrappedFunction [as internal_send_command] (/home/alex/node_modules/newrelic/lib/transaction/tracer/index.js:354:24)
    at RedisClient.(anonymous function).RedisClient.(anonymous function) (/home/alex/node_modules/redis/lib/commands.js:45:25)
    at eval (eval at <anonymous> (/home/alex/server2.js:2:52), <anonymous>:2384:16)
    at checkLogin (eval at <anonymous> (/home/alex/server2.js:2:52), <anonymous>:572:13)
    at Socket.eval (eval at <anonymous> (/home/alex/server2.js:2:52), <anonymous>:2001:9)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at Socket.onevent (/home/alex/node_modules/socket.io/lib/socket.js:335:8)
    at Socket.onpacket (/home/alex/node_modules/socket.io/lib/socket.js:295:12)

рдХреЛрдб:

            db.get('triviaAnswer',function(err,dbAnswer){
                if(err){
                    console.log('Error getting triviaAnswer from redis: '+err);
                    return;
                }

рд╕рд╛рде рд╣реА, 'рдСрдирд▓рд╛рдЗрди' рдФрд░ 'рдЯреНрд░рд┐рд╡рд┐рдпрд╛рдЕрдиреНрд╕рд╡рд░' рдлрд╝реАрд▓реНрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЗрдЯ рд╣реИрдВ, рдФрд░ рдКрдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рддрдм рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ... рдареАрдХ рд╣реИ рдЬрдм рддрдХ рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ред рдпрд╣ "рдирдпрд╛" рдХреЛрдб рднреА рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЕрдм рд╣рдлреНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ newrelic рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдирд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рдЦреЗрдж рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреА рдФрд░ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рджрдо рдкрд░ newrelic рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред

рд╡рд╣ рдерд╛, рдзрдиреНрдпрд╡рд╛рджред

@Alchemystic рдХреНрдпрд╛ рдЖрдк рдлрд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ? рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ NR рдХреЗ рд╕рд╛рде рднреА рдкрд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 2.6.2 (2.6.0-1 рд╕реЗ) рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА рдиреНрдпреВрд░реЗрд▓рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ [email protected] рдФрд░ [email protected] рд╕рд╛рде рдорд╛рд░рд╛ рд╣реИред newrelic рдХреЛ рд╡рд╛рдкрд╕ 1.28.0 рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, redis 2.6.2 рдФрд░ newrelic 1.28.3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

strumwolf picture strumwolf  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

id0Sch picture id0Sch  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Atala picture Atala  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

michaelwittig picture michaelwittig  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

adamgajzlerowicz picture adamgajzlerowicz  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ