2015-07-08 9 views
5

La mia domanda è breve, ma credo che è interessante:modo più efficace per il polling una coda Amazon SQS utilizzando Nodo

Ho una coda dal servizio Amazon SQS, e io sono il polling della coda di ogni secondo. Quando c'è un messaggio, elaboro il messaggio e dopo l'elaborazione, torno al polling della coda.

C'è un modo migliore per questo ?, una sorta di trigger? o quale approccio sarà il migliore secondo la tua opinione e perché.

Grazie!

risposta

1

Come menzionato da Mircea, il polling lungo è un'opzione.

Quando chiedi un "trigger", credo che tu stia cercando qualcosa di diverso dal sondare continuamente SQS da solo. Se è così, ti suggerirei di guardare AWS Lambda. Esso consente di mettere il codice in the cloud, che automaticamente viene attivato sui vostri eventi configurati, come evento SNS, un file spinto a S3 ecc

http://aws.amazon.com/lambda/

5

Un utile e semplice da usare biblioteca per consumare i messaggi da SQS è SQS-consumo

const Consumer = require('sqs-consumer'); 

const app = Consumer.create({ 
    queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name', 
    handleMessage: (message, done) => { 
    console.log('Processing message: ', message); 
    done(); 
    } 
}); 

app.on('error', (err) => { 
    console.log(err.message); 
}); 

app.start(); 

E 'ben documentato se avete bisogno di ulteriori informazioni. Puoi trovare i documenti a: https://github.com/bbc/sqs-consumer