Class: ErpTechSvcs::DelayedJobs::DeleteExpiredSessionsJob
- Inherits:
-
Object
- Object
- ErpTechSvcs::DelayedJobs::DeleteExpiredSessionsJob
- Defined in:
- lib/erp_tech_svcs/delayed_jobs/delete_expired_sessions_job.rb
Overview
Delayed Job to Reset Daily Assignments to Forecast
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize ⇒ DeleteExpiredSessionsJob
constructor
A new instance of DeleteExpiredSessionsJob.
- #perform ⇒ Object
Constructor Details
#initialize ⇒ DeleteExpiredSessionsJob
Returns a new instance of DeleteExpiredSessionsJob.
8 9 10 |
# File 'lib/erp_tech_svcs/delayed_jobs/delete_expired_sessions_job.rb', line 8 def initialize @priority = 1 end |
Class Method Details
.schedule_job(schedule_dt) ⇒ Object
43 44 45 |
# File 'lib/erp_tech_svcs/delayed_jobs/delete_expired_sessions_job.rb', line 43 def self.schedule_job(schedule_dt) Delayed::Job.enqueue(DeleteExpiredSessionsJob.new, @priority, schedule_dt) end |
Instance Method Details
#perform ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/erp_tech_svcs/delayed_jobs/delete_expired_sessions_job.rb', line 12 def perform unless Dir.exists?(File.join(Rails.root, 'log/delayed_jobs')) Dir.mkdir(File.join(Rails.root, 'log/delayed_jobs')) end logger = Logger.new(File.join(Rails.root,"log/delayed_jobs/#{Rails.env}-delete_expired_sessions_job.log"), "weekly") logger.level = Logger::INFO time = Benchmark.measure do begin ActiveRecord::SessionStore::Session.delete_all ['updated_at < ?', ErpTechSvcs::Config.session_expires_in_hours.hours.ago] rescue => ex logger.error("#{Time.now}**************************************************") logger.error("Job Error: #{ex.}") logger.error("Trace: #{ex.backtrace.join("\n")}") logger.error("*************************************************************") # email notification ExceptionNotifier.notify_exception(ex) if defined? ExceptionNotifier end end #benchmark # Run once per day start_time = Time.now + 1.day Delayed::Job.enqueue(DeleteExpiredSessionsJob.new, @priority, start_time) # Update job tracker JobTracker.job_ran('Delete Expired Sessions', self.class.name, ("(%.4fs)" % time.real), start_time) end |