simple_worker 0.3.20 → 0.3.21

Sign up to get free protection for your applications and to get access to all the features.
data/README.markdown CHANGED
@@ -1,218 +1,237 @@
1
- Getting Started
2
- ===============
3
-
4
- [Sign up for a SimpleWorker account][1], it's free to try!
5
-
6
- [1]: http://www.simpleworker.com/
7
-
8
- Configure SimpleWorker
9
- ----------------------
10
-
11
- You really just need your access keys.
12
-
13
- SimpleWorker.configure do |config|
14
- config.access_key = ACCESS_KEY
15
- config.secret_key = SECRET_KEY
16
- end
17
-
18
- Write a Worker
19
- --------------
20
-
21
- Here's an example worker that sends an email:
22
-
23
- require 'simple_worker'
24
-
25
- class EmailWorker < SimpleWorker::Base
26
-
27
- attr_accessor :to, :subject, :body
28
-
29
- # This is the method that will be run
30
- def run
31
- send_email(:to=>to, :subject=>subject, :body=>body)
32
- end
33
-
34
- def send_email
35
- # Put sending code here
36
- end
37
- end
38
-
39
- Test It Locally
40
- ---------------
41
-
42
- Let's say someone does something in your app and you want to send an email about it.
43
-
44
- worker = EmailWorker.new
45
- worker.to = current_user.email
46
- worker.subject = "Here is your mail!"
47
- worker.body = "This is the body"
48
- worker.run_local
49
-
50
- Once you've got it working locally, the next step is to run it on the SimpleWorker cloud.
51
-
52
- Queue up your Worker on the SimpleWorker Cloud
53
- ----------------------------------------------
54
-
55
- Let's say someone does something in your app and you want to send an email about it.
56
-
57
- worker = EmailWorker.new
58
- worker.to = current_user.email
59
- worker.subject = "Here is your mail!"
60
- worker.body = "This is the body"
61
- worker.queue
62
-
63
- This will send it off to the SimpleWorker cloud.
64
-
65
- Schedule your Worker
66
- --------------------
67
-
68
- There are two scenarios here, one is the scenario where you want something to happen due to a user
69
- action in your application. This is almost the same as queuing your worker.
70
-
71
- worker = EmailWorker.new
72
- worker.to = current_user.email
73
- worker.subject = "Here is your mail!"
74
- worker.body = "This is the body"
75
- worker.schedule(:start_at=>1.hours.since)
76
-
77
- Check Status
78
- ------------
79
-
80
- If you still have access to the worker object, just call:
81
-
82
- worker.status
83
-
84
- If you only have the job ID, call:
85
-
86
- SimpleWorker.service.status(job_id)
87
-
88
- This will return a hash like:
89
-
90
- {"task_id"=>"ece460ce-12d8-11e0-8e15-12313b0440c6",
91
- "status"=>"running",
92
- "msg"=>nil,
93
- "start_time"=>"2010-12-28T23:19:36+00:00",
94
- "end_time"=>nil,
95
- "duration"=>nil,
96
- "progress"=>{"percent"=>25}}
97
-
98
-
99
- Logging
100
- -------
101
-
102
- In your worker, just call the log method with the string you want logged:
103
-
104
- log "Starting to do something..."
105
-
106
- The log will be available for viewing via the SimpleWorker UI or via log in the API:
107
-
108
- SimpleWorker.service.log(job_id)
109
-
110
- Setting Progress
111
- ----------------
112
-
113
- This is just a way to let your users know where the job is at if required.
114
-
115
- set_progress(:percent => 25, :message => "We are a quarter of the way there!")
116
-
117
- You can actually put anything in this hash and it will be returned with a call to status. We recommend using
118
- the format above for consistency and to get some additional features where we look for these values.
119
-
120
- Schedule a Recurring Job - CRON
121
- ------------------------------
122
-
123
- The alternative is when you want to user it like Cron. In this case you'll probably
124
- want to write a script that will schedule, you don't want to schedule it everytime your
125
- app starts or anything so best to keep it external.
126
-
127
- Create a file called 'schedule_email_worker.rb' and add this:
128
-
129
- require 'simple_worker'
130
- require_relative 'email_worker'
131
-
132
- worker = EmailWorker.new
133
- worker.to = current_user.email
134
- worker.subject = "Here is your mail!"
135
- worker.body = "This is the body"
136
- worker.schedule(:start_at=>1.hours.since, :run_every=>3600)
137
-
138
- Now run it and your worker will be scheduled to run every hour.
139
-
140
- SimpleWorker on Rails
141
- ---------------------
142
-
143
- Rails 2.X:
144
-
145
- config.gem 'simple_worker'
146
-
147
- Rails 3.X:
148
-
149
- gem 'simple_worker'
150
-
151
- Now you can use your workers like they're part of your app! We recommend putting your worker classes in
152
- /app/workers path.
153
-
154
- Configuring a Database Connection
155
- ---------------------------------
156
-
157
- Although you could easily do this in your worker, this makes it a bit more convenient and more importantly
158
- it will create the connection for you. If you are using ActiveRecord, you would add the following to your
159
- SimpleWorker config:
160
-
161
- config.database = {
162
- :adapter => "mysql2",
163
- :host => "localhost",
164
- :database => "appdb",
165
- :username => "appuser",
166
- :password => "secret"
167
- }
168
-
169
- Then before you job is run, SimpleWorker will establish the ActiveRecord connection.
170
-
171
- Including/Merging other Ruby Classes
172
- ------------------------------------
173
-
174
- If you are using the Rails setup above, you can probably skip this as your models will automatically be merged.
175
-
176
- class AvgWorker < SimpleWorker::Base
177
-
178
- attr_accessor :aws_access_key,
179
- :aws_secret_key,
180
- :s3_suffix
181
-
182
- merge File.join(File.dirname(__FILE__), "..", "app", "models", "user.rb")
183
- merge File.join(File.dirname(__FILE__), "..", "app", "models", "account")
184
-
185
- Or simpler yet, try using relative paths:
186
-
187
- merge "../app/models/user"
188
- merge "../app/models/account.rb"
189
-
190
- The opposite can be done as well with "unmerge" and can be useful when using Rails to exclude classes that are automatically
191
- merged.
192
-
193
-
194
- Bringing in other Workers
195
- ---------------------
196
-
197
- merge_worker
198
- TODO
199
-
200
-
201
- Configuration Options
202
- ---------------------
203
-
204
- ### Global Attributes
205
-
206
- These are attributes that can be set as part of your config block then will be set on
207
- all your worker objects automatically. This is particularly good for things like database
208
- connection info or things that you would need to use across the board.
209
-
210
- Eg:
211
-
212
- config.global_attributes[:db_user] = "sa"
213
- config.global_attributes[:db_pass] = "pass"
214
-
215
- Then in your worker, you would have the attributes defined:
216
-
217
- attr_accessor :db_user, :db_pass
218
-
1
+ Getting Started
2
+ ===============
3
+
4
+ [Sign up for a SimpleWorker account][1], it's free to try!
5
+
6
+ [1]: http://www.simpleworker.com/
7
+
8
+ Install SimpleWorker Gem
9
+ ------------------------
10
+
11
+ gem install simple_worker
12
+
13
+ Configure SimpleWorker
14
+ ----------------------
15
+
16
+ You really just need your access keys.
17
+
18
+ SimpleWorker.configure do |config|
19
+ config.access_key = ACCESS_KEY
20
+ config.secret_key = SECRET_KEY
21
+ end
22
+
23
+ Write a Worker
24
+ --------------
25
+
26
+ Here's an example worker that sends an email:
27
+
28
+ require 'simple_worker'
29
+
30
+ class EmailWorker < SimpleWorker::Base
31
+
32
+ attr_accessor :to, :subject, :body
33
+
34
+ # This is the method that will be run
35
+ def run
36
+ send_email(:to=>to, :subject=>subject, :body=>body)
37
+ end
38
+
39
+ def send_email
40
+ # Put sending code here
41
+ end
42
+ end
43
+
44
+ Test It Locally
45
+ ---------------
46
+
47
+ Let's say someone does something in your app and you want to send an email about it.
48
+
49
+ worker = EmailWorker.new
50
+ worker.to = current_user.email
51
+ worker.subject = "Here is your mail!"
52
+ worker.body = "This is the body"
53
+ worker.run_local
54
+
55
+ Once you've got it working locally, the next step is to run it on the SimpleWorker cloud.
56
+
57
+ Queue up your Worker on the SimpleWorker Cloud
58
+ ----------------------------------------------
59
+
60
+ Let's say someone does something in your app and you want to send an email about it.
61
+
62
+ worker = EmailWorker.new
63
+ worker.to = current_user.email
64
+ worker.subject = "Here is your mail!"
65
+ worker.body = "This is the body"
66
+ worker.queue
67
+
68
+ This will send it off to the SimpleWorker cloud.
69
+
70
+ Setting Priority
71
+ ----------------------------------------------
72
+
73
+ Simply define the priority in your queue command.
74
+
75
+ worker.queue(:priority=>1)
76
+
77
+ Default priority is 0 and we currently support priority 0, 1, 2. See [pricing page](http://www.simpleworker.com/pricing)
78
+ for more information on priorites.
79
+
80
+
81
+ Schedule your Worker
82
+ --------------------
83
+
84
+ There are two scenarios here, one is the scenario where you want something to happen due to a user
85
+ action in your application. This is almost the same as queuing your worker.
86
+
87
+ worker = EmailWorker.new
88
+ worker.to = current_user.email
89
+ worker.subject = "Here is your mail!"
90
+ worker.body = "This is the body"
91
+ worker.schedule(:start_at=>1.hours.since)
92
+
93
+ Check Status
94
+ ------------
95
+
96
+ If you still have access to the worker object, just call:
97
+
98
+ worker.status
99
+
100
+ If you only have the job ID, call:
101
+
102
+ SimpleWorker.service.status(job_id)
103
+
104
+ This will return a hash like:
105
+
106
+ {"task_id"=>"ece460ce-12d8-11e0-8e15-12313b0440c6",
107
+ "status"=>"running",
108
+ "msg"=>nil,
109
+ "start_time"=>"2010-12-28T23:19:36+00:00",
110
+ "end_time"=>nil,
111
+ "duration"=>nil,
112
+ "progress"=>{"percent"=>25}}
113
+
114
+
115
+ Logging
116
+ -------
117
+
118
+ In your worker, just call the log method with the string you want logged:
119
+
120
+ log "Starting to do something..."
121
+
122
+ The log will be available for viewing via the SimpleWorker UI or via log in the API:
123
+
124
+ SimpleWorker.service.log(job_id)
125
+
126
+ Setting Progress
127
+ ----------------
128
+
129
+ This is just a way to let your users know where the job is at if required.
130
+
131
+ set_progress(:percent => 25, :message => "We are a quarter of the way there!")
132
+
133
+ You can actually put anything in this hash and it will be returned with a call to status. We recommend using
134
+ the format above for consistency and to get some additional features where we look for these values.
135
+
136
+ Schedule a Recurring Job - CRON
137
+ ------------------------------
138
+
139
+ The alternative is when you want to user it like Cron. In this case you'll probably
140
+ want to write a script that will schedule, you don't want to schedule it everytime your
141
+ app starts or anything so best to keep it external.
142
+
143
+ Create a file called 'schedule_email_worker.rb' and add this:
144
+
145
+ require 'simple_worker'
146
+ require_relative 'email_worker'
147
+
148
+ worker = EmailWorker.new
149
+ worker.to = current_user.email
150
+ worker.subject = "Here is your mail!"
151
+ worker.body = "This is the body"
152
+ worker.schedule(:start_at=>1.hours.since, :run_every=>3600)
153
+
154
+ Now run it and your worker will be scheduled to run every hour.
155
+
156
+ SimpleWorker on Rails
157
+ ---------------------
158
+
159
+ Rails 2.X:
160
+
161
+ config.gem 'simple_worker'
162
+
163
+ Rails 3.X:
164
+
165
+ gem 'simple_worker'
166
+
167
+ Now you can use your workers like they're part of your app! We recommend putting your worker classes in
168
+ /app/workers path.
169
+
170
+ Configuring an Database Connection
171
+ ---------------------------------
172
+
173
+ Although you could easily do this in your worker, this makes it a bit more convenient and more importantly
174
+ it will create the connection for you. If you are using Rails 3, you just need to add one line:
175
+
176
+ config.database = Rails.configuration.database_configuration[Rails.env]
177
+
178
+ For non Rails 3, you would add the following to your SimpleWorker config:
179
+
180
+ config.database = {
181
+ :adapter => "mysql2",
182
+ :host => "localhost",
183
+ :database => "appdb",
184
+ :username => "appuser",
185
+ :password => "secret"
186
+ }
187
+
188
+ Then before you job is run, SimpleWorker will establish the ActiveRecord connection.
189
+
190
+ Including/Merging other Ruby Classes
191
+ ------------------------------------
192
+
193
+ If you are using the Rails setup above, you can probably skip this as your models will automatically be merged.
194
+
195
+ class AvgWorker < SimpleWorker::Base
196
+
197
+ attr_accessor :aws_access_key,
198
+ :aws_secret_key,
199
+ :s3_suffix
200
+
201
+ merge File.join(File.dirname(__FILE__), "..", "app", "models", "user.rb")
202
+ merge File.join(File.dirname(__FILE__), "..", "app", "models", "account")
203
+
204
+ Or simpler yet, try using relative paths:
205
+
206
+ merge "../models/user"
207
+ merge "../models/account.rb"
208
+
209
+ The opposite can be done as well with "unmerge" and can be useful when using Rails to exclude classes that are automatically
210
+ merged.
211
+
212
+
213
+ Bringing in other Workers
214
+ ---------------------
215
+
216
+ merge_worker
217
+ TODO
218
+
219
+
220
+ Configuration Options
221
+ ---------------------
222
+
223
+ ### Global Attributes
224
+
225
+ These are attributes that can be set as part of your config block then will be set on
226
+ all your worker objects automatically. This is particularly good for things like database
227
+ connection info or things that you would need to use across the board.
228
+
229
+ Eg:
230
+
231
+ config.global_attributes[:db_user] = "sa"
232
+ config.global_attributes[:db_pass] = "pass"
233
+
234
+ Then in your worker, you would have the attributes defined:
235
+
236
+ attr_accessor :db_user, :db_pass
237
+
data/lib/railtie.rb CHANGED
@@ -8,14 +8,13 @@ module SimpleWorker
8
8
  # railtie_name :simple_worker deprecated
9
9
 
10
10
  initializer "simple_worker.configure_rails_initialization" do |app|
11
- puts 'railtie'
12
- puts "Initializing list of Rails models..."
11
+ puts "Initializing SimpleWorker for Rails 3..."
13
12
  SimpleWorker.configure do |c2|
14
13
  path = File.join(Rails.root, 'app/models/*.rb')
15
- puts 'path=' + path
14
+ # puts 'path=' + path
16
15
  c2.models = Dir.glob(path)
17
16
  c2.extra_requires += ['active_support/core_ext', 'active_record', 'action_mailer']
18
- puts 'config.models=' + c2.models.inspect
17
+ # puts 'config.models=' + c2.models.inspect
19
18
  end
20
19
 
21
20
  end
@@ -87,7 +87,7 @@ module SimpleWorker
87
87
  end
88
88
 
89
89
  def merge_worker(file, class_name)
90
- puts 'merge_worker in ' + self.name
90
+ # puts 'merge_worker in ' + self.name
91
91
  merge(file)
92
92
  @merged_workers << [File.expand_path(file), class_name]
93
93
  end
@@ -126,6 +126,7 @@ module SimpleWorker
126
126
  end
127
127
 
128
128
  def set_global_attributes
129
+ return unless SimpleWorker.config
129
130
  ga = SimpleWorker.config.global_attributes
130
131
  if ga && ga.size > 0
131
132
  ga.each_pair do |k, v|
@@ -138,12 +139,12 @@ module SimpleWorker
138
139
  end
139
140
 
140
141
  # Will send in all instance_variables.
141
- def queue
142
+ def queue(options={})
142
143
  # puts 'in queue'
143
144
  set_auto_attributes
144
145
  upload_if_needed
145
146
 
146
- response = SimpleWorker.service.queue(self.class.name, sw_get_data)
147
+ response = SimpleWorker.service.queue(self.class.name, sw_get_data, options)
147
148
  # puts 'queue response=' + response.inspect
148
149
  @task_set_id = response["task_set_id"]
149
150
  @task_id = response["tasks"][0]["task_id"]
@@ -20,7 +20,7 @@ module SimpleWorker
20
20
  puts "Uploading #{class_name}"
21
21
  # check whether it should upload again
22
22
  tmp = Dir.tmpdir()
23
- md5file = "simple_worker_#{class_name.gsub("::", ".")}.md5"
23
+ md5file = "simple_worker_#{class_name.gsub("::", ".")}_#{access_key[0,8]}.md5"
24
24
  existing_md5 = nil
25
25
  f = File.join(tmp, md5file)
26
26
  if File.exists?(f)
@@ -66,7 +66,7 @@ module SimpleWorker
66
66
  if unmerge
67
67
  unmerge.each do |x|
68
68
  deleted = merge.delete x
69
- puts "Unmerging #{x}. Success? #{deleted}"
69
+ # puts "Unmerging #{x}. Success? #{deleted}"
70
70
  end
71
71
  end
72
72
 
@@ -80,7 +80,7 @@ module SimpleWorker
80
80
  end
81
81
  end
82
82
  merge.each do |m|
83
- puts "merging #{m} into #{filename}"
83
+ # puts "merging #{m} into #{filename}"
84
84
  f.write File.open(m, 'r') { |mo| mo.read }
85
85
  f.write "\n\n"
86
86
  end
@@ -96,7 +96,7 @@ module SimpleWorker
96
96
 
97
97
  # class_name: The class name of a previously upload class, eg: MySuperWorker
98
98
  # data: Arbitrary hash of your own data that your task will need to run.
99
- def queue(class_name, data={})
99
+ def queue(class_name, data={}, options={})
100
100
  puts "Queuing #{class_name}"
101
101
  if !data.is_a?(Array)
102
102
  data = [data]
@@ -105,8 +105,10 @@ module SimpleWorker
105
105
  hash_to_send = {}
106
106
  hash_to_send["payload"] = data
107
107
  hash_to_send["class_name"] = class_name
108
+ hash_to_send["priority"] = options[:priority] if options[:priority]
108
109
  add_sw_params(hash_to_send)
109
110
  if defined?(RAILS_ENV)
111
+ # todo: move this to global_attributes in railtie
110
112
  hash_to_send["rails_env"] = RAILS_ENV
111
113
  end
112
114
  return queue_raw(class_name, hash_to_send)
data/lib/simple_worker.rb CHANGED
@@ -26,8 +26,8 @@ module SimpleWorker
26
26
  end
27
27
 
28
28
  if defined?(Rails)
29
- puts 'Rails=' + Rails.inspect
30
- puts 'vers=' + Rails::VERSION::MAJOR.inspect
29
+ # puts 'Rails=' + Rails.inspect
30
+ # puts 'vers=' + Rails::VERSION::MAJOR.inspect
31
31
  if Rails::VERSION::MAJOR == 2
32
32
  require_relative 'rails2_init.rb'
33
33
  else
@@ -0,0 +1,25 @@
1
+ require 'test/unit'
2
+ begin
3
+ require File.join(File.dirname(__FILE__), '../lib/simple_worker')
4
+ rescue Exception => ex
5
+ puts ex.message
6
+ require 'simple_worker'
7
+ end
8
+ require_relative "test_worker"
9
+ require_relative "test_worker_2"
10
+
11
+
12
+ class SimpleWorkerTests < Test::Unit::TestCase
13
+
14
+ def test_no_conf
15
+ # Add something to queue, get task ID back
16
+ tw = TestWorker.new
17
+ tw.s3_key = "active style runner"
18
+ tw.times = 3
19
+
20
+ tw.run_local
21
+
22
+ end
23
+
24
+ end
25
+
data/test/test_worker.rb CHANGED
@@ -9,12 +9,10 @@ class TestWorker < SimpleWorker::Base
9
9
 
10
10
  attr_accessor :s3_key, :times
11
11
 
12
- def run(data=nil)
13
- log 'running the runner for leroy '.upcase + ' with data: ' + data.inspect
14
-
12
+ def run
13
+ log 'running the test worker for moi '.upcase
15
14
  log 's3_key instance_variable = ' + self.s3_key.to_s
16
15
 
17
- @times = data["times"].to_i
18
16
  @times.times do |i|
19
17
  log 'running at ' + i.to_s
20
18
  sleep 1
@@ -26,12 +24,6 @@ class TestWorker < SimpleWorker::Base
26
24
  log 'SET COMPLETE YAY!' + params[:task_set_id]
27
25
  end
28
26
 
29
- def progress
30
- if @count
31
- return @count / @times
32
- end
33
- return 0.0
34
- end
35
27
 
36
28
  end
37
29
 
metadata CHANGED
@@ -1,44 +1,35 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: simple_worker
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 3
8
- - 20
9
- version: 0.3.20
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.21
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Travis Reeder
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2011-01-07 00:00:00 -08:00
12
+ date: 2011-02-13 00:00:00.000000000 -08:00
18
13
  default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
21
16
  name: appoxy_api
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &26617572 !ruby/object:Gem::Requirement
24
18
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- version: "0"
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
31
23
  type: :runtime
32
- version_requirements: *id001
33
- description: I could tell you, but then I'd have to...
24
+ prerelease: false
25
+ version_requirements: *26617572
26
+ description: The official SimpleWorker gem for http://www.simpleworker.com
34
27
  email: travis@appoxy.com
35
28
  executables: []
36
-
37
29
  extensions: []
38
-
39
- extra_rdoc_files:
30
+ extra_rdoc_files:
40
31
  - README.markdown
41
- files:
32
+ files:
42
33
  - lib/rails2_init.rb
43
34
  - lib/railtie.rb
44
35
  - lib/simple_worker.rb
@@ -55,6 +46,7 @@ files:
55
46
  - test/second_worker.rb
56
47
  - test/test_base.rb
57
48
  - test/test_inheritance.rb
49
+ - test/test_no_config.rb
58
50
  - test/test_simple_worker.rb
59
51
  - test/test_worker.rb
60
52
  - test/test_worker_2.rb
@@ -62,36 +54,29 @@ files:
62
54
  has_rdoc: true
63
55
  homepage: http://github.com/appoxy/simple_worker
64
56
  licenses: []
65
-
66
57
  post_install_message:
67
58
  rdoc_options: []
68
-
69
- require_paths:
59
+ require_paths:
70
60
  - lib
71
- required_ruby_version: !ruby/object:Gem::Requirement
61
+ required_ruby_version: !ruby/object:Gem::Requirement
72
62
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- segments:
77
- - 0
78
- version: "0"
79
- required_rubygems_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
68
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- segments:
85
- - 0
86
- version: "0"
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
87
73
  requirements: []
88
-
89
74
  rubyforge_project:
90
- rubygems_version: 1.3.7
75
+ rubygems_version: 1.5.1
91
76
  signing_key:
92
77
  specification_version: 3
93
- summary: Classified
94
- test_files:
78
+ summary: The official SimpleWorker gem for http://www.simpleworker.com
79
+ test_files:
95
80
  - test/models/model_1.rb
96
81
  - test/models/model_2.rb
97
82
  - test/requiring_worker.rb
@@ -99,6 +84,7 @@ test_files:
99
84
  - test/second_worker.rb
100
85
  - test/test_base.rb
101
86
  - test/test_inheritance.rb
87
+ - test/test_no_config.rb
102
88
  - test/test_simple_worker.rb
103
89
  - test/test_worker.rb
104
90
  - test/test_worker_2.rb