Class: ErpApp::Desktop::JobTracker::BaseController
- Inherits:
-
BaseController
- Object
- ActionController::Base
- ApplicationController
- BaseController
- ErpApp::Desktop::JobTracker::BaseController
- Defined in:
- app/controllers/erp_app/desktop/job_tracker/base_controller.rb
Instance Method Summary collapse
Methods inherited from BaseController
Instance Method Details
#jobs ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/erp_app/desktop/job_tracker/base_controller.rb', line 6 def jobs sort_hash = params[:sort].blank? ? {} : Hash.symbolize_keys(JSON.parse(params[:sort]).first) sort = sort_hash[:property] || 'id' dir = sort_hash[:direction] || 'ASC' limit = params[:limit] || 15 start = params[:start] || 0 job_trackers = ::JobTracker.order("#{sort} #{dir}").offset(start).limit(limit).all total_count = ::JobTracker.count(:id) render :json => {:total_count => total_count, :success => true, :jobs => job_trackers.collect { |tracker| tracker.to_hash( :only => [:id, :job_name, :job_klass, :run_time], :scheduled => (tracker.scheduled?), :last_run_at => (tracker.last_run_at.nil? ? '' : tracker.last_run_at.utc), :next_run_at => (tracker.next_run_at.nil? ? '' : tracker.next_run_at.utc), ) }} end |
#schedule ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/erp_app/desktop/job_tracker/base_controller.rb', line 25 def schedule job_tracker = ::JobTracker.find(params[:id]) job = job_tracker.tracked_job unless job job_tracker.job_klass.constantize.schedule_job(Time.now) job_tracker.next_run_at = job_tracker.tracked_job.run_at job_tracker.save end render :json => {:success => true} end |
#unschedule ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/controllers/erp_app/desktop/job_tracker/base_controller.rb', line 38 def unschedule job_tracker = ::JobTracker.find(params[:id]) job = job_tracker.tracked_job job.destroy unless job.nil? job_tracker.next_run_at = nil job_tracker.save render :json => {:success => true} end |