Skip to content

Commit b0ab106

Browse files
and9000iloveitaly
authored andcommitted
* updated documentation
* removed auto_load fields in favour of resque_schedule method
1 parent 7f0e7da commit b0ab106

File tree

8 files changed

+29
-94
lines changed

8 files changed

+29
-94
lines changed

AUTHORS.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,3 @@ Resque Scheduler authors
8888
- sawanoboly
8989
- serek
9090
- iloveitaly
91-
- Andrea Lorenzetti

README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -458,18 +458,18 @@ Resque::Scheduler.auto_load = 'path/to/*_job.rb'
458458
Auto load enables a job to declare it's scheduling. In order to do that file must follow `snake_case` convention for filename and `CamelCase` for class name. It also must include `Resque::Scheduler::Job` and declares it's schedule:
459459

460460
```ruby
461-
cron '*/2 * * * *'
462-
queue 'default'
461+
resque_schedule cron: '*/2 * * * *'
463462
```
464463

465464
All options available:
466465

467466
```ruby
468-
cron '* */3 * * *' # use cron or every option, don't use both
469-
every '3d' # use every or cron option, don't use both
470-
queue 'default'
471-
args 'custom arg'
472-
description 'Nice description'
467+
resque_schedule(
468+
cron: '* */3 * * *', # use cron or every option, don't use both
469+
every: '3d', # use every or cron option, don't use both
470+
args: 'Custom arg',
471+
description: 'Nice description'
472+
)
473473
```
474474

475475
Job's example:
@@ -481,10 +481,9 @@ require 'resque/scheduler/job'
481481
class MyGreatJob
482482
include Resque::Scheduler::Job
483483
484-
cron '*/2 * * * *'
485-
queue 'default'
486-
args 'args'
487-
description 'description'
484+
@queue = :default
485+
486+
resque_schedule cron: '*/2 * * * *', args: 'args', description: 'description'
488487
end
489488
490489
```

lib/resque/scheduler.rb

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -110,21 +110,6 @@ def load_schedule!
110110

111111
Dir[auto_load.to_s].each do |file|
112112
require File.absolute_path(file)
113-
name = File.basename(file, '.rb')
114-
begin
115-
klass = Resque::Scheduler::Util.constantize(name)
116-
rescue NameError
117-
log! "Can't load file #{file}"
118-
end
119-
load_schedule_job(
120-
name,
121-
'class' => klass.name,
122-
'cron' => klass.respond_to?(:cron) ? klass.cron : nil,
123-
'every' => klass.respond_to?(:every) ? klass.every : nil,
124-
'queue' => klass.respond_to?(:queue) ? klass.queue : nil,
125-
'args' => klass.respond_to?(:args) ? klass.args : nil,
126-
'description' => klass.respond_to?(:description) ? klass.description : nil
127-
) if klass
128113
end
129114

130115
Resque.redis.del(:schedules_changed) if am_master && dynamic

lib/resque/scheduler/job.rb

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,29 +10,16 @@ def included(base)
1010
end
1111

1212
module ClassMethods
13-
def cron(value = nil)
14-
return @cron ||= nil if value.nil?
15-
@cron = value
16-
end
17-
18-
def every(value = nil)
19-
return @every ||= nil if value.nil?
20-
@every = value
21-
end
22-
23-
def queue(value = nil)
24-
return @queue ||= nil if value.nil?
25-
@queue = value
26-
end
27-
28-
def args(value = nil)
29-
return @args ||= nil if value.nil?
30-
@args = value
31-
end
32-
33-
def description(value = nil)
34-
return @description ||= nil if value.nil?
35-
@description = value
13+
def resque_schedule(cron: nil, every: nil, args: nil, description: nil)
14+
Resque::Scheduler.load_schedule_job(
15+
name,
16+
'class' => name,
17+
'cron' => cron,
18+
'every' => every,
19+
'queue' => @queue,
20+
'args' => args,
21+
'description' => description
22+
)
3623
end
3724
end
3825
end

test/fixtures/valid_cron_job.rb

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
class ValidCronJob
66
include Resque::Scheduler::Job
77

8-
cron '*/2 * * * *'
9-
queue 'default'
10-
args 'args'
11-
description 'description'
8+
@queue = :default
9+
10+
resque_schedule cron: '*/2 * * * *', args: 'args', description: 'description'
1211
end

test/fixtures/valid_every_job.rb

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55
class ValidEveryJob
66
include Resque::Scheduler::Job
77

8-
every '1d'
9-
queue 'default'
10-
args 'args'
11-
description 'description'
8+
@queue = :default
9+
10+
resque_schedule every: '1d', args: 'args', description: 'description'
1211
end

test/job_test.rb

Lines changed: 0 additions & 33 deletions
This file was deleted.

test/scheduler_test.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,14 +113,14 @@
113113

114114
assert_equal(2, Resque::Scheduler.rufus_scheduler.jobs.size)
115115
assert_equal(2, Resque::Scheduler.scheduled_jobs.size)
116-
%w(valid_cron_job valid_every_job).each do |job_name|
116+
%w(ValidCronJob ValidEveryJob).each do |job_name|
117117
assert Resque::Scheduler.scheduled_jobs.keys.include?(job_name)
118118
end
119119

120-
cron_job = Resque::Scheduler.scheduled_jobs['valid_cron_job']
120+
cron_job = Resque::Scheduler.scheduled_jobs['ValidCronJob']
121121
assert_equal('*/2 * * * *', cron_job.original)
122122

123-
every_job = Resque::Scheduler.scheduled_jobs['valid_every_job']
123+
every_job = Resque::Scheduler.scheduled_jobs['ValidEveryJob']
124124
assert_equal('1d', every_job.original)
125125
end
126126

0 commit comments

Comments
 (0)