Class Dsadmin::Admind::CronProxy
In: lib/dsadmin/admind/cron_proxy.rb
Parent: Object

Proxy for the internal task scheduler.

Methods

add   cronop   forcerun   new   pause   remove   resume  

Included Modules

Dsadmin::CoreClient Dsadmin::Contractor Dsadmin::ValueChecker

Public Class methods

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 80
80:       def initialize
81:       end

Public Instance methods

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 38
38:       def add(cronjob_spec)
39:         requireKindOf(CronjobSpec, cronjob_spec)
40:       
41:         if(cfg.master?)
42:           return Cron.instance.add(cronjob_spec)
43:         end
44:         
45:         req = Dsadmin::Request.new_simple(:meta, :cron_add, 'spec' => cronjob_spec.to_hash)
46:         res = RequestProcessor.instance.process(req)
47:         
48:         if((res.status == :success) && res.data && res.data['jobid'])
49:           return res.data['jobid']
50:         else
51:           return nil
52:         end
53:       end

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 71
71:       def forcerun(jobid)
72:         cronop("forcerun", jobid)
73:       end

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 61
61:       def pause(jobid)
62:         cronop("pause", jobid)
63:       end

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 56
56:       def remove(jobid)
57:         cronop("remove", jobid)
58:       end

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 66
66:       def resume(jobid)
67:         cronop("resume", jobid)
68:       end

Private Instance methods

[Source]

    # File lib/dsadmin/admind/cron_proxy.rb, line 84
84:       def cronop(op, jobid)
85:         checkKindOf(Integer, jobid)
86:         
87:         if(cfg.master?)
88:           return Cron.instance.send(op, jobid)
89:         end
90:         
91:         req = Request.new_simple(:meta, "cron_#{op}", 'jobid' => jobid)
92:         res = RequestProcessor.instance.process(req)
93:         
94:         raise ArgumentError.new("Unknown job ##{jobid}") unless res.status == :success
95:       end

[Validate]