There is a code which with some interval is called by CRON

He requests the last 20 entries from the group in VK.COM and checks each for the presence of keywords, if they are, for example, he sends an alert, and in order not to send alerts again, Memcache is given a key for 7 days which is checked every time it is searched.

var Memcached = require('memcached'); var memcached = new Memcached('127.0.0.1:11211'); var request = require('request'); var sync_request = require('sync-request'); ... //Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π£Π Π› для запроса записСй с стСны VK.COM var wall_url = url('wall.get', 'domain=******&count=20'); //Π”Π΅Π»Π°Π΅ΠΌ запрос request(wall_url, function (error, response, body) { if(error){console.log('Error:', error);} //Π”Π΅ΠΊΠΎΠ΄ΠΈΠΌ JSON var json_body = JSON.parse(body).response.items; //ΠŸΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ запись for (var key in json_body) { //ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° запись ΠΏΠΎ Key var obj_ = json_body[key]; //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° Π»ΠΈ ΠΎΠ½Π°, являСтся Π»ΠΈ рСпостом ΠΈ подписана Π»ΠΈ ΠΎΠ½Π° ΡŽΠ·Π΅Ρ€ΠΎΠΌ if(!obj_.copy_history && !obj_.marked_as_ads && obj_.signer_id){ //Π”Π΅Π»Π°Π΅ΠΌ Trim тСкста var text = obj_.text.trim(); //ИТСм ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π² тСкстС if(check(text)){ var wall_id = obj_.id; //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ мСмкСш Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°, Ссли Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ memcached.get('w'+wall_id, function (err, data) { if(typeof data === 'undefined'){ .....Если мСмкСш чист Ρ‚ΠΎ выполняСм Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ..... //ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ Π² мСмкСшС запись "ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎΠΉ" Π½Π° 7 Π΄Π½Π΅ΠΉ memcached.set('w'+wall_id, true, 604800, function (err) {}); } }); } } } }); 

The code above fully works but you just have to remove the var wall_id = obj_.id; and change its part like this:

  //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ мСмкСш Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π°, Ссли Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ memcached.get('w'+obj_.id, function (err, data) { if(typeof data === 'undefined'){ .....Если мСмкСш чист Ρ‚ΠΎ выполняСм Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ..... //ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ Π² мСмкСшС запись "ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎΠΉ" Π½Π° 7 Π΄Π½Π΅ΠΉ memcached.set('w'+obj_.id, true, 604800, function (err) {}); } }); 

It immediately starts to work incorrectly, a key is created in Memcache, but the test for the presence of the key does not work and it re-checks the record, and this is not surprising because obj_.id before memcached.get has an ID that is not in this variable after it

 НапримСр Π΄ΠΎ 156236 ПослС: 156206 156236 - запись которая Π±Ρ‹Π»Π° Π½Π°ΠΉΠ΄Π΅Π½Π° 156206 - являСтся послСднСй ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌΠΎΠΉ записью Π² Ρ†ΠΈΠΊΠ»Π΅ 

    0