Skip to content

Instantly share code, notes, and snippets.

@DanisHack
Created June 9, 2014 12:41
Show Gist options
  • Save DanisHack/c1d27abdb8ff16b24714 to your computer and use it in GitHub Desktop.
Save DanisHack/c1d27abdb8ff16b24714 to your computer and use it in GitHub Desktop.
general SQS service for Node app using aws-lib (nodejs library for aws)
var aws = require ('aws-lib');
var options ={
"path": "", // your queue path you can aws management console to find it
"version": "", // version-- its a date
};
sqs = aws.createSQSClient(awsKey, awsPrivateKey, options);
var sendmessage = function(outbound, callback){
//console.log(outbound);
if(outbound)
{
sqs.call( "SendMessage", outbound, function (err,result) {
if(err) {
callback(err,null);
}
else {
console.log("success");
callback(null,result);
}
});
}
}
var receivemessage = function(outbound, callback){
if(outbound)
{
sqs.call("ReceiveMessage", outbound, function(err, result){
if(err){
callback(err, null);
/*setTimeout(function(){receivemessage(outbound, callback);}, 10000);*/
}
else{
console.log("received msg");
if(result && result.ReceiveMessageResult && result.ReceiveMessageResult.Message && result.ReceiveMessageResult.Message.Body){
callback(null,result);
}
else{
setTimeout(function(){receivemessage(outbound, callback);}, 10000);
}
}
});
}
}
var deletemessage = function(handler, callback){
if(handler){
sqs.call("DeleteMessage", {"ReceiptHandle":handler}, function(err, result){
if(err){
callback(err, null);
}
else{
callback(null, 'Message has been deleted');
}
});
}
}
exports.SendMessage = sendmessage;
exports.ReceiveMessage = receivemessage;
exports.DeleteMessage = deletemessage;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment