Class: BaseScheduler
- Inherits:
-
Object
- Object
- BaseScheduler
- Defined in:
- lib/base_scheduler.rb
Defined Under Namespace
Classes: SchedulerError
Instance Attribute Summary collapse
-
#base_jobs_group ⇒ Object
Returns the value of attribute base_jobs_group.
-
#base_triggers_group ⇒ Object
Returns the value of attribute base_triggers_group.
-
#cron_expression ⇒ Object
Returns the value of attribute cron_expression.
-
#job_name ⇒ Object
Returns the value of attribute job_name.
-
#scheduler_factory ⇒ Object
readonly
Returns the value of attribute scheduler_factory.
-
#trigger_name ⇒ Object
Returns the value of attribute trigger_name.
Instance Method Summary collapse
- #fire!(job_class, options = {}) ⇒ Object
-
#initialize(cron_expression = nil) ⇒ BaseScheduler
constructor
A new instance of BaseScheduler.
- #schedule!(job_class, options = {}) ⇒ Object
Constructor Details
#initialize(cron_expression = nil) ⇒ BaseScheduler
Returns a new instance of BaseScheduler.
15 16 17 18 19 20 21 22 |
# File 'lib/base_scheduler.rb', line 15 def initialize(cron_expression=nil) @scheduler_factory = initialize_scheduler_factory @base_jobs_group = "BaseJobsGroup" @base_triggers_group = "BaseTriggersGroup" @job_name = "BaseJob" @trigger_name = "BaseTrigger" @cron_expression = cron_expression end |
Instance Attribute Details
#base_jobs_group ⇒ Object
Returns the value of attribute base_jobs_group.
12 13 14 |
# File 'lib/base_scheduler.rb', line 12 def base_jobs_group @base_jobs_group end |
#base_triggers_group ⇒ Object
Returns the value of attribute base_triggers_group.
12 13 14 |
# File 'lib/base_scheduler.rb', line 12 def base_triggers_group @base_triggers_group end |
#cron_expression ⇒ Object
Returns the value of attribute cron_expression.
13 14 15 |
# File 'lib/base_scheduler.rb', line 13 def cron_expression @cron_expression end |
#job_name ⇒ Object
Returns the value of attribute job_name.
13 14 15 |
# File 'lib/base_scheduler.rb', line 13 def job_name @job_name end |
#scheduler_factory ⇒ Object (readonly)
Returns the value of attribute scheduler_factory.
10 11 12 |
# File 'lib/base_scheduler.rb', line 10 def scheduler_factory @scheduler_factory end |
#trigger_name ⇒ Object
Returns the value of attribute trigger_name.
13 14 15 |
# File 'lib/base_scheduler.rb', line 13 def trigger_name @trigger_name end |
Instance Method Details
#fire!(job_class, options = {}) ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/base_scheduler.rb', line 24 def fire!(job_class, ={}) begin scheduler = scheduler_factory.get_scheduler scheduler.trigger_job(self.job_name, self.base_jobs_group) rescue Exception => e raise SchedulerError.new(e) end end |
#schedule!(job_class, options = {}) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/base_scheduler.rb', line 33 def schedule!(job_class, ={}) begin scheduler = scheduler_factory.get_scheduler detail = job_detail_setup(scheduler, job_class) current_trigger = cron_trigger.new(self.trigger_name, self.base_triggers_group, self.job_name, self.base_jobs_group, self.cron_expression) scheduler.schedule_job(detail, current_trigger) rescue Exception => e raise SchedulerError.new(e) end end |