2015-07-08 26 views
5

Sorum kısa düğüm kullanırken bir Amazon SQS kuyruğu yoklamak, ama ilginç olduğunu düşünüyorum:En etkili yol

Ben Amazon SQS hizmetinden bir kuyruğu var ve ben taramayı her saniye kuyruk değilim. İleti işlediğimde ve işledikten sonra bir ileti olduğunda, sıra aramasına geri dönün.

bunun için daha iyi bir yolu tetikleyici çeşit var ?, mı? veya hangi yaklaşım sizin düşüncenizde en iyi ve neden olacaktır.

Teşekkürler!

cevap

3

evet var: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html

bir "mesajı bekleme süresi almak" zorunda ve uzun kamuoyu yoklaması yapmaya OKS sıralarını yapılandırabilirsiniz.

yüzden 10 saniye söylemek ayarlayabilirsiniz ve bir mesaj veya 10 sn zaman aşımı süresi dolduktan sonra varsa çağrı geri sadece gelecek. Bu senaryodaki kuyruğu sürekli olarak sorgulayabilirsiniz.

Mircea tarafından belirtildiği gibi
1

, uzun yoklama tek seçenektir.

bir tetikleyici, ben kendi başınıza sürekli yoklama SQS'in dışındaki bir şey arıyoruz inanıyoruz sormak

. Eğer durum buysa, AWS Lambda'ya bakmanızı öneririm. Bu, otomatik olarak bu tür SNS olayı olarak yapılandırılmış olaylar üzerine tetiklenen alır bulut, kodu koymak için izin verir, bir dosya iletileri tüketen vb S3

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

5

Bir yararlı ve kolay kullanımı kütüphane itti SQS'in dan OKS-tüketici daha fazla bilgiye ihtiyaç eğer iyi belgelenmiş oluyor

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(); 

olduğunu. Dokümanları şu adreste bulabilirsiniz: https://github.com/bbc/sqs-consumer

İlgili konular