Skip to content

Commit 5c03cd5

Browse files
committed
made the sqs logic less required
1 parent 6af4315 commit 5c03cd5

File tree

2 files changed

+25
-16
lines changed

2 files changed

+25
-16
lines changed

index.js

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,10 @@
11
var request = require('request'),
22
qs = require('querystring'),
3-
util = require('util'),
4-
AWS = require('aws-sdk');
3+
util = require('util');
54

65
var spark_jobserver = function(options) {
6+
this.options = options;
77
this.endpoint = options.host || 'localhost:8090';
8-
9-
this.queue = '';
10-
var queue_config = options.queue || '';
11-
12-
if (queue_config !== '') {
13-
var region = queue_config.region || 'us-east-1';
14-
this.queue_url = 'https://sqs.' + region + '.amazonaws.com' + queue_config.name;
15-
16-
this.queue = new AWS.SQS(queue_config);
17-
}
188
};
199

2010
spark_jobserver.prototype = {
@@ -58,7 +48,23 @@ spark_jobserver.prototype = {
5848
return instance.command('jobs', qs, body, callback, 'POST');
5949
},
6050
queue: function(app_name, class_path, options, body, callback) {
61-
if (instance.queue === '') {
51+
var AWS = '';
52+
try {
53+
AWS = require('aws-sdk');
54+
} catch (ex) {
55+
throw new Error("aws-sdk module not installed.");
56+
}
57+
58+
var queue_config = instance.options.queue || '';
59+
var queue = '';
60+
var queue_url = '';
61+
if (queue_config !== '') {
62+
var region = queue_config.region || 'us-east-1';
63+
queue_url = 'https://sqs.' + region + '.amazonaws.com' + queue_config.name;
64+
queue = new AWS.SQS(queue_config);
65+
}
66+
67+
if (queue === '') {
6268
throw new Error("Queue not configured.");
6369
}
6470

@@ -68,8 +74,9 @@ spark_jobserver.prototype = {
6874
options: options,
6975
body: body
7076
};
71-
instance.queue.sendMessage({
72-
QueueUrl: instance.queue_url,
77+
78+
queue.sendMessage({
79+
QueueUrl: queue_url,
7380
MessageBody: JSON.stringify(message)
7481
}, callback);
7582
},

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
},
1818
"license": "ISC",
1919
"dependencies": {
20-
"aws-sdk": "^2.2.24",
2120
"request": "^2.66.0"
21+
},
22+
"optionalDependencies": {
23+
"aws-sdk": "^2.2.24"
2224
}
2325
}

0 commit comments

Comments
 (0)