simple_worker 2.0.0.beta.5 → 2.0.0.beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/simple_worker/api.rb
CHANGED
@@ -59,54 +59,42 @@ module SimpleWorker
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def get(method, params={}, options={})
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
# Was:
|
73
|
-
#parse_response RestClient.get(append_params(url(method), add_params(method, params)), headers), options
|
74
|
-
#rescue RestClient::Exception => ex
|
75
|
-
# process_ex(ex)
|
76
|
-
#end
|
62
|
+
full_url = url(method)
|
63
|
+
all_params = add_params(method, params)
|
64
|
+
|
65
|
+
url_plus_params = append_params(full_url, all_params)
|
66
|
+
@logger.debug 'get url=' + url_plus_params
|
67
|
+
resp = RestClient.get(url_plus_params, headers)
|
68
|
+
|
69
|
+
parse_response(resp, options)
|
70
|
+
|
77
71
|
end
|
78
72
|
|
79
73
|
def post_file(method, file, params={}, options={})
|
80
74
|
begin
|
81
|
-
#params.delete("runtime")
|
82
|
-
#params["runtime"]='ruby'
|
83
|
-
#params.delete("file_name")
|
84
|
-
#params["file_name"] = "runner.rb"
|
85
75
|
data = add_params(method, params).to_json
|
86
76
|
@logger.debug "data = " + data
|
87
77
|
@logger.debug "params = " + params.inspect
|
88
78
|
@logger.debug "options = " + options.inspect
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
rescue RestClient::Exception => ex
|
79
|
+
parse_response RestClient.post(url(method) + "?oauth=" + token, {:data => data, :file => file}, :content_type => 'application/json', :accept => :json), options
|
80
|
+
#parse_response(RestClient.post(append_params(url(method), add_params(method, params)), {:data => data, :file => file}, :content_type => 'application/json'), options)
|
81
|
+
rescue RestClient::Exception => ex
|
93
82
|
process_ex(ex)
|
94
83
|
end
|
95
84
|
end
|
96
85
|
|
97
86
|
def post(method, params={}, options={})
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
@logger.debug "token = "+ token.inspect
|
87
|
+
@logger.debug "params = " + params.inspect
|
88
|
+
@logger.debug "options = " + options.inspect
|
89
|
+
@logger.debug "params.payload = " + params[:payload].inspect
|
90
|
+
@logger.debug "token = "+ token.inspect
|
103
91
|
begin
|
104
|
-
|
105
|
-
|
106
|
-
parse_response(RestClient.post(url
|
107
|
-
|
108
|
-
|
109
|
-
|
92
|
+
url = url(method) + "?oauth=" + token
|
93
|
+
@logger.debug 'post url=' + url
|
94
|
+
parse_response(RestClient.post(url, add_params(method, params).to_json, headers.merge!({:content_type=>'application/json', :accept => "json"})), options)
|
95
|
+
rescue RestClient::Exception => ex
|
96
|
+
@logger.warn("Exception in post! #{ex.message}")
|
97
|
+
@logger.warn(ex.backtrace.join("\n"))
|
110
98
|
process_ex(ex)
|
111
99
|
end
|
112
100
|
end
|
@@ -115,8 +103,7 @@ module SimpleWorker
|
|
115
103
|
def put(method, body, options={})
|
116
104
|
begin
|
117
105
|
parse_response RestClient.put(url(method), add_params(method, body).to_json, headers), options
|
118
|
-
|
119
|
-
rescue RestClient::Exception => ex
|
106
|
+
rescue RestClient::Exception => ex
|
120
107
|
process_ex(ex)
|
121
108
|
end
|
122
109
|
end
|
@@ -130,9 +117,7 @@ module SimpleWorker
|
|
130
117
|
end
|
131
118
|
|
132
119
|
def add_params(command_path, hash)
|
133
|
-
|
134
|
-
ts = SimpleWorker::Api::Signatures.generate_timestamp(Time.now.gmtime)
|
135
|
-
extra_params = {'version'=>v, 'timestamp' => ts, 'oauth' => token}
|
120
|
+
extra_params = {'oauth' => token}
|
136
121
|
hash.merge!(extra_params)
|
137
122
|
end
|
138
123
|
|
data/lib/simple_worker/base.rb
CHANGED
@@ -378,34 +378,17 @@ module SimpleWorker
|
|
378
378
|
end
|
379
379
|
end
|
380
380
|
|
381
|
-
|
382
|
-
# Todo, watch for this file changing or something so we can reupload (if in dev env)
|
383
|
-
unless uploaded?
|
381
|
+
if !uploaded?
|
384
382
|
unmerged = self.class.instance_variable_get(:@unmerged)
|
385
383
|
merged_gems = self.class.instance_variable_get(:@merged_gems)
|
386
384
|
merged_mailers = self.class.instance_variable_get(:@merged_mailers)
|
387
385
|
merged_folders = self.class.instance_variable_get(:@merged_folders)
|
388
|
-
# puts 'merged1=' + merged.inspect
|
389
|
-
|
390
386
|
merged, rfile, subclass = SimpleWorker::Base.extract_superclasses_merges(self, merged)
|
391
|
-
#if SimpleWorker.config.auto_merge
|
392
|
-
# puts "Auto merge Enabled"
|
393
|
-
#if SimpleWorker.config.models
|
394
|
-
# SimpleWorker.config.models.each do |m|
|
395
|
-
# merged[m] = m
|
396
|
-
# end
|
397
|
-
#end
|
398
387
|
merged_mailers = merged_mailers.merge(SimpleWorker.config.mailers) if SimpleWorker.config.mailers
|
399
|
-
#SimpleWorker.config.gems.each do |gem|
|
400
|
-
# merged_gems[gem[:name]] = gem
|
401
|
-
#end
|
402
|
-
#end
|
403
388
|
unless merged_gems.size == 0
|
404
389
|
merged_gems = gems_to_merge(merged_gems)
|
405
|
-
#merged_gems.uniq!
|
406
390
|
end
|
407
|
-
|
408
|
-
# merged_mailers.uniq!
|
391
|
+
|
409
392
|
options_for_upload = {:merge=>merged, :unmerge=>unmerged, :merged_gems=>merged_gems, :merged_mailers=>merged_mailers, :merged_folders=>merged_folders}
|
410
393
|
options_for_upload.merge!(options)
|
411
394
|
SimpleWorker.service.upload(rfile, subclass.name, options_for_upload)
|
@@ -414,7 +397,6 @@ module SimpleWorker
|
|
414
397
|
SimpleWorker.logger.debug 'Already uploaded for ' + self.class.name
|
415
398
|
end
|
416
399
|
|
417
|
-
|
418
400
|
after_upload
|
419
401
|
end
|
420
402
|
|
data/lib/simple_worker/config.rb
CHANGED
@@ -26,7 +26,8 @@ module SimpleWorker
|
|
26
26
|
:merged,
|
27
27
|
:unmerged,
|
28
28
|
:merged_gems,
|
29
|
-
:unmerged_gems
|
29
|
+
:unmerged_gems,
|
30
|
+
:force_upload
|
30
31
|
|
31
32
|
|
32
33
|
def initialize
|
@@ -157,6 +158,7 @@ module SimpleWorker
|
|
157
158
|
config_data['mailer'] = self.mailer if self.mailer
|
158
159
|
config_data['global_attributes'] = self.global_attributes if self.global_attributes
|
159
160
|
config_data['host'] = self.host if self.host
|
161
|
+
config_data['port'] = self.port if self.port
|
160
162
|
config_data
|
161
163
|
end
|
162
164
|
|
@@ -175,8 +175,8 @@ module SimpleWorker
|
|
175
175
|
end
|
176
176
|
|
177
177
|
def add_sw_params(hash_to_send)
|
178
|
-
hash_to_send["token"] = self.config
|
179
|
-
hash_to_send["project_id"] = self.config
|
178
|
+
hash_to_send["token"] = self.config.token
|
179
|
+
hash_to_send["project_id"] = self.config.project_id
|
180
180
|
hash_to_send["api_version"] = SimpleWorker.api_version
|
181
181
|
end
|
182
182
|
end
|
@@ -65,7 +65,7 @@ def init_worker_service_for_runner(job_data)
|
|
65
65
|
config.project_id = sw_config['project_id']
|
66
66
|
#puts 'Setting host to ' + host.inspect
|
67
67
|
config.host = sw_config['host'] if sw_config['host']
|
68
|
-
config.
|
68
|
+
config.port = sw_config['port'] if sw_config['port']
|
69
69
|
db_config = sw_config['database']
|
70
70
|
if db_config
|
71
71
|
config.database = db_config
|
@@ -24,6 +24,7 @@ module SimpleWorker
|
|
24
24
|
options[:logger] = SimpleWorker.logger
|
25
25
|
super("api2.simpleworker.com", token, options)
|
26
26
|
self.host = self.config.host if self.config && self.config.host
|
27
|
+
self.config.merge_gem('simple_worker')#automerge simple worker gem
|
27
28
|
SimpleWorker.logger.info 'SimpleWorker initialized.'
|
28
29
|
SimpleWorker.logger.debug ' host = ' + self.host.inspect
|
29
30
|
end
|
@@ -46,7 +47,7 @@ module SimpleWorker
|
|
46
47
|
# Check for code changes.
|
47
48
|
md5 = Digest::MD5.hexdigest(File.read(filename))
|
48
49
|
new_code = false
|
49
|
-
if md5 != existing_md5
|
50
|
+
if self.config.force_upload || md5 != existing_md5
|
50
51
|
SimpleWorker.logger.info "Uploading #{class_name}, code modified."
|
51
52
|
File.open(md5_f, 'w') { |f| f.write(md5) }
|
52
53
|
new_code = true
|
@@ -90,7 +91,7 @@ module SimpleWorker
|
|
90
91
|
SimpleWorker.logger.debug 'gems found=' + gems.inspect
|
91
92
|
gems = gems.select { |g| g.version.version==gem_info[:version] } if gem_info[:version]
|
92
93
|
if !gems.empty?
|
93
|
-
gem = gems.
|
94
|
+
gem = gems.last
|
94
95
|
gem.full_gem_path
|
95
96
|
else
|
96
97
|
return nil
|
@@ -420,7 +421,7 @@ end
|
|
420
421
|
hash_to_send["class_name"] = class_name unless hash_to_send["class_name"]
|
421
422
|
hash_to_send["name"] = class_name unless hash_to_send["name"]
|
422
423
|
uri = project_url_prefix(get_project_id(options)) + "jobs"
|
423
|
-
SimpleWorker.logger.
|
424
|
+
SimpleWorker.logger.debug 'queue_raw , uri = ' + uri
|
424
425
|
ret = post(uri, hash_to_send)
|
425
426
|
ret
|
426
427
|
end
|
@@ -523,10 +524,10 @@ end
|
|
523
524
|
ret
|
524
525
|
end
|
525
526
|
|
526
|
-
# data is a hash, should include 'percent' and '
|
527
|
-
def set_progress(task_id,
|
528
|
-
data={"data"=>data, "task_id"=>task_id}
|
529
|
-
post("
|
527
|
+
# data is a hash, should include 'percent' and 'msg'
|
528
|
+
def set_progress(task_id, options={})
|
529
|
+
#data={"data"=>data, "task_id"=>task_id}
|
530
|
+
post("#{project_url_prefix(get_project_id(options))}jobs/#{task_id}/progress", options)
|
530
531
|
end
|
531
532
|
|
532
533
|
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: simple_worker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: 6
|
5
|
-
version: 2.0.0.beta.
|
5
|
+
version: 2.0.0.beta.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Travis Reeder
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-10-01 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: zip
|