11var request = require ( 'request' ) ,
22 qs = require ( 'querystring' ) ,
3- util = require ( 'util' ) ,
4- AWS = require ( 'aws-sdk' ) ;
3+ util = require ( 'util' ) ;
54
65var 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
2010spark_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 } ,
0 commit comments