Comments (4)
Could you provide a description of what is is you need to do before handling messages? Some example code where you use the consumer would be useful as well.
It may be that you can just call the initial consumer.start()
inside a callback?
from sqs-consumer.
start is called once, right? at the beginning..
In my implementation I need to periodic train some classification algorithm (eg. https://github.com/NaturalNode/natural)
I would like to update/train it for each batch of received messages, so that is why beforeHandleMessages would be useful.
😢
from sqs-consumer.
If there's something you need to do before handling a message, you should be able to do it at the top of your handleMessage
function. I'm not convinced that it's something that the library needs to do for you.
var app = Consumer.create({
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
handleMessage: function (message, done) {
// do some setup work
// process message
done();
}
});
If your 'setup' task is asynchronous, you could use something like async
:
var async = require('async');
function handleMessage(message, cb) {
async.series([
function doSomeSetup(done) {
// setup
done();
},
function processTheMessage(done) {
// process
done();
}
], cb);
}
var app = Consumer.create({
queueUrl: 'https://sqs.eu-west-1.amazonaws.com/account-id/queue-name',
handleMessage: handleMessage
});
Admittedly there's not any way to run code before receiving a batch of messages, only an individual message. I'm not convinced of the use case for it though. If you need to run a periodic task, it could be run on a setInterval
outside of the consumer function.
from sqs-consumer.
Ok, no problem <3
from sqs-consumer.
Related Issues (20)
- [Bug]: TypeError: Cannot set property message of [object Object] which has only a getter HOT 7
- handleMessage does not allow for an injected process method HOT 3
- [Feature]: Support none standard errors - "Cannot set property message of which has only a getter" HOT 7
- Drop support for Node 16 HOT 2
- [Bug]: High CPU usage HOT 1
- create a version of consumer with the aws sdk version for json HOT 3
- [Bug]: SQS receive message failed: Could not load credentials from any providers HOT 2
- [Bug]: Undocumented breaking change - acknowledgment to handleMessage HOT 7
- v5.8.0 if send message to sqs queue on other pc HOT 2
- [Bug]: ApproximateReceiveCount is not part of QueueAttributeName HOT 4
- The automated release is failing 🚨 HOT 1
- [Bug]: Version 8.1.5 of this library incompatible with @aws-sdk/client-sqs version 3.507.0 HOT 5
- Add a link to the docs at the top of the readme HOT 2
- Remove AWS SDK V2 Note
- Upgrade p-event to v6 HOT 1
- Upgrade chai to v5 HOT 1
- Remove the `handler_processing` debugger HOT 2
- [Bug]: CredentialsProviderError is not treated as a connection error HOT 2
- [Bug]: SQS receive message failed: connect ETIMEDOUT <ip>:443 every few hours HOT 4
- [Bug]: When consumer fails to react to SQS instant retry occurs HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sqs-consumer.