simple_worker 1.0.14 → 2.0.0.beta.2
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/README.markdown
CHANGED
@@ -80,13 +80,6 @@ Let's say someone does something in your app and you want to send an email about
|
|
80
80
|
|
81
81
|
This will send it off to the SimpleWorker cloud.
|
82
82
|
|
83
|
-
To queue worker without uploading you could try to do following:
|
84
|
-
|
85
|
-
data[:attr_encoded] = Base64.encode64({'@to'=>'example@email.com'}.to_json)
|
86
|
-
data[:sw_config] = SimpleWorker.config.get_atts_to_send
|
87
|
-
SimpleWorker.service.queue('EmailWorker', data)
|
88
|
-
|
89
|
-
|
90
83
|
Setting Priority
|
91
84
|
----------------------------------------------
|
92
85
|
|
data/lib/simple_worker/base.rb
CHANGED
@@ -41,15 +41,11 @@ module SimpleWorker
|
|
41
41
|
def merge_gem(gem_name, options={})
|
42
42
|
gem_info = SimpleWorker::MergeHelper.create_gem_info(gem_name, options)
|
43
43
|
@merged_gems[gem_name.to_s] = gem_info
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
require r2
|
50
|
-
rescue LoadError=>ex
|
51
|
-
raise "Gem #{gem_name} was found, but we could not load the file '#{r2}'. You may need to use :require=>x.........."
|
52
|
-
end
|
44
|
+
#puts 'before require ' + (options[:require] || gem_name)
|
45
|
+
begin
|
46
|
+
require gem_info[:require]
|
47
|
+
rescue LoadError=>ex
|
48
|
+
raise "Gem #{gem_name} was found, but we could not load the file '#{options[:require] || gem_name}.rb'. You may need to use :require=>x.........."
|
53
49
|
end
|
54
50
|
end
|
55
51
|
|
@@ -68,7 +64,7 @@ module SimpleWorker
|
|
68
64
|
f2 = SimpleWorker::MergeHelper.check_for_file(mailer, @caller_file)
|
69
65
|
basename = File.basename(mailer, f2[:extname])
|
70
66
|
path_to_templates = params[:path_to_templates] || File.join(Rails.root, "app/views/#{basename}")
|
71
|
-
@merged_mailers[basename] = {:name=>basename, :path_to_templates=>path_to_templates, :filename =>
|
67
|
+
@merged_mailers[basename] = {:name=>basename, :path_to_templates=>path_to_templates, :filename => mailer}.merge!(params)
|
72
68
|
end
|
73
69
|
|
74
70
|
def merge_folder(path)
|
@@ -155,7 +151,7 @@ module SimpleWorker
|
|
155
151
|
# puts 'run_local'
|
156
152
|
set_auto_attributes
|
157
153
|
init_database
|
158
|
-
|
154
|
+
init_mailer
|
159
155
|
begin
|
160
156
|
run
|
161
157
|
rescue => ex
|
@@ -167,11 +163,11 @@ module SimpleWorker
|
|
167
163
|
end
|
168
164
|
end
|
169
165
|
|
170
|
-
|
166
|
+
def init_mailer
|
171
167
|
if SimpleWorker.config.mailer
|
172
168
|
require 'action_mailer'
|
173
|
-
|
174
|
-
|
169
|
+
ActionMailer::Base.raise_delivery_errors = true
|
170
|
+
ActionMailer::Base.smtp_settings = (SimpleWorker.config.mailer)
|
175
171
|
end
|
176
172
|
end
|
177
173
|
|
@@ -1,9 +1,11 @@
|
|
1
1
|
# This is the file that gets executed on the server.
|
2
2
|
|
3
|
+
|
3
4
|
def init_database_connection(sw_config)
|
4
5
|
if sw_config
|
5
6
|
db_config = sw_config['database']
|
6
7
|
if db_config
|
8
|
+
#@logger.info "Connecting to database using ActiveRecord..."
|
7
9
|
require 'active_record'
|
8
10
|
ActiveRecord::Base.establish_connection(db_config)
|
9
11
|
end
|
@@ -75,3 +77,22 @@ def init_worker_service_for_runner(job_data)
|
|
75
77
|
end
|
76
78
|
end
|
77
79
|
|
80
|
+
|
81
|
+
run_data = JSON.load(File.open(run_data_file))
|
82
|
+
# Load in job data
|
83
|
+
job_data = JSON.load(File.open(job_data_file))
|
84
|
+
job_data.merge!(run_data)
|
85
|
+
puts 'job_data=' + job_data.inspect
|
86
|
+
|
87
|
+
sw_config = job_data['sw_config']
|
88
|
+
init_database_connection(sw_config)
|
89
|
+
init_mailer(sw_config)
|
90
|
+
SimpleWorker.disable_queueing()
|
91
|
+
runner_class = get_class_to_run(job_data['class_name'])
|
92
|
+
SimpleWorker.running_class = runner_class
|
93
|
+
runner = init_runner(runner_class, job_data, dirname)
|
94
|
+
init_worker_service_for_runner(job_data)
|
95
|
+
SimpleWorker.enable_queueing()
|
96
|
+
|
97
|
+
# Let's run it!
|
98
|
+
runner_return_data = runner.run
|
@@ -122,11 +122,6 @@ module SimpleWorker
|
|
122
122
|
#tmp_file = File.join(Dir.tmpdir(), File.basename(filename))
|
123
123
|
tmp_file = File.join(Dir.tmpdir(), 'runner.rb')
|
124
124
|
File.open(tmp_file, "w") do |f|
|
125
|
-
File.open(File.join(File.dirname(__FILE__), "server", 'runner.rb'), 'r') do |fr|
|
126
|
-
while line = fr.gets
|
127
|
-
f.write line
|
128
|
-
end
|
129
|
-
end
|
130
125
|
f.write("begin\n")#error handling block start
|
131
126
|
f.write("
|
132
127
|
# Find environment (-e)
|
@@ -150,36 +145,15 @@ ARGV.each do |arg|
|
|
150
145
|
i+=1
|
151
146
|
end
|
152
147
|
|
153
|
-
|
154
148
|
# Change to user directory
|
155
149
|
#puts 'dirname=' + dirname.inspect
|
156
150
|
Dir.chdir(dirname)
|
157
|
-
require 'json'
|
158
|
-
run_data = JSON.load(File.open(run_data_file))
|
159
|
-
# Load in job data
|
160
|
-
job_data = JSON.load(File.open(job_data_file))
|
161
|
-
job_data.merge!(run_data)
|
162
|
-
#puts 'job_data=' + job_data.inspect
|
163
|
-
|
164
|
-
sw_config = job_data['sw_config']
|
165
151
|
")
|
166
152
|
|
167
153
|
|
168
154
|
f.write("require 'simple_worker'\n")
|
169
155
|
|
170
156
|
|
171
|
-
File.open(File.join(File.dirname(__FILE__), 'server', 'overrides.rb'), 'r') do |fr|
|
172
|
-
while line = fr.gets
|
173
|
-
f.write line
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
# Now we must disable queuing while loading up classes. This is from the overrides.rb file
|
178
|
-
f.write("
|
179
|
-
SimpleWorker.disable_queueing()
|
180
|
-
")
|
181
|
-
|
182
|
-
|
183
157
|
# add some rails stuff if using Rails
|
184
158
|
if defined?(Rails)
|
185
159
|
f.write "module Rails
|
@@ -193,6 +167,15 @@ end
|
|
193
167
|
"
|
194
168
|
end
|
195
169
|
|
170
|
+
if SimpleWorker.config.database && !SimpleWorker.config.database.empty?
|
171
|
+
f.write "require 'active_record'\n"
|
172
|
+
end
|
173
|
+
|
174
|
+
if merged_mailers && !merged_mailers.empty?
|
175
|
+
# todo: isn't 'action_mailer already required in railtie?
|
176
|
+
f.write "require 'action_mailer'\n"
|
177
|
+
f.write "ActionMailer::Base.prepend_view_path('templates')\n"
|
178
|
+
end
|
196
179
|
#if SimpleWorker.config.auto_merge
|
197
180
|
merged_gems.each_pair do |k, gem|
|
198
181
|
SimpleWorker.logger.debug "Bundling gem #{gem[:name]}..."
|
@@ -214,19 +197,17 @@ end
|
|
214
197
|
# end
|
215
198
|
end
|
216
199
|
|
217
|
-
if merged_mailers && !merged_mailers.empty?
|
218
|
-
# todo: isn't 'action_mailer already required in railtie?
|
219
|
-
f.write "require 'action_mailer'\n"
|
220
|
-
f.write "init_mailer(sw_config)\n"
|
221
|
-
f.write "ActionMailer::Base.prepend_view_path('templates')\n"
|
222
|
-
end
|
223
|
-
f.write "init_database_connection(sw_config)\n"
|
224
200
|
if SimpleWorker.config.extra_requires
|
225
201
|
SimpleWorker.config.extra_requires.each do |r|
|
226
202
|
f.write "require '#{r}'\n"
|
227
203
|
end
|
228
204
|
end
|
229
205
|
|
206
|
+
File.open(File.join(File.dirname(__FILE__), 'server', 'overrides.rb'), 'r') do |fr|
|
207
|
+
while line = fr.gets
|
208
|
+
f.write line
|
209
|
+
end
|
210
|
+
end
|
230
211
|
|
231
212
|
merged.each_pair do |k, v|
|
232
213
|
if v[:extname] == ".rb"
|
@@ -238,23 +219,13 @@ end
|
|
238
219
|
end
|
239
220
|
#end
|
240
221
|
#f.write File.open(filename, 'r') { |mo| mo.read }
|
241
|
-
f.write("require_relative '#{File.basename(filename)}'
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
f.write("
|
246
|
-
runner_class = get_class_to_run(job_data['class_name'])
|
247
|
-
SimpleWorker.running_class = runner_class
|
248
|
-
runner = init_runner(runner_class, job_data, dirname)
|
249
|
-
init_worker_service_for_runner(job_data)
|
250
|
-
|
251
|
-
# lastly, reenable queueing
|
252
|
-
SimpleWorker.enable_queueing()
|
253
|
-
|
254
|
-
# Let's run it!
|
255
|
-
runner_return_data = runner.run
|
256
|
-
")
|
222
|
+
f.write("require_relative '#{File.basename(filename)}'")
|
257
223
|
|
224
|
+
File.open(File.join(File.dirname(__FILE__), "server", 'runner.rb'), 'r') do |fr|
|
225
|
+
while line = fr.gets
|
226
|
+
f.write line
|
227
|
+
end
|
228
|
+
end
|
258
229
|
#error handling block - end
|
259
230
|
f.write("\nrescue Exception => ex
|
260
231
|
$stderr.puts '_error_from_sw_'
|
@@ -333,7 +304,6 @@ end
|
|
333
304
|
# puts " MERGED MAILERS" + merged_mailers.inspect
|
334
305
|
merged_mailers.each_pair do |k, mailer|
|
335
306
|
SimpleWorker.logger.debug "Collecting mailer #{mailer[:name]}"
|
336
|
-
puts "MAILER #{mailer.inspect}"
|
337
307
|
f.add(File.basename(mailer[:filename]), mailer[:filename])
|
338
308
|
path = mailer[:path_to_templates]
|
339
309
|
Dir["#{path}/**/**"].each do |file|
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_worker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
version:
|
4
|
+
prerelease: 6
|
5
|
+
version: 2.0.0.beta.2
|
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-09-28 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: zip
|
@@ -44,7 +44,6 @@ extra_rdoc_files:
|
|
44
44
|
- README.markdown
|
45
45
|
files:
|
46
46
|
- lib/generators/simple_worker/simple_worker_generator.rb
|
47
|
-
- lib/generators/simple_worker/templates/template_worker.erb
|
48
47
|
- lib/simple_worker.rb
|
49
48
|
- lib/simple_worker/api.rb
|
50
49
|
- lib/simple_worker/base.rb
|
@@ -75,9 +74,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
75
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
75
|
none: false
|
77
76
|
requirements:
|
78
|
-
- - "
|
77
|
+
- - ">"
|
79
78
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
79
|
+
version: 1.3.1
|
81
80
|
requirements: []
|
82
81
|
|
83
82
|
rubyforge_project:
|