Class: ErpTechSvcs::Sessions::DeleteExpiredSessionsJob

Inherits:
Object
  • Object
show all
Defined in:
lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb

Overview

Delayed Job to Reset Daily Assignments to Forecast

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDeleteExpiredSessionsJob

Returns a new instance of DeleteExpiredSessionsJob.



6
7
8
# File 'lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb', line 6

def initialize
  @priority = 1
end

Class Method Details

.schedule_job(schedule_dt) ⇒ Object



24
25
26
# File 'lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb', line 24

def self.schedule_job(schedule_dt)
  Delayed::Job.enqueue(DeleteExpiredSessionsJob.new(), @priority, schedule_dt)
end

Instance Method Details

#performObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb', line 10

def perform
  begin
    process_job
  rescue => exception
    ErpTechSvcs::Util::CompassLogger.delete_expired_sessions_job.error("An unrecoverable error has occured, the job will be rescheduled: #{exception.message} : #{exception.backtrace}")
  end
    
  # Run once per day
  date = Date.tomorrow
  start_time = DateTime.civil(date.year, date.month, date.day, 2, 0, 1, -(5.0/24.0))
    
  Delayed::Job.enqueue(DeleteExpiredSessionsJob.new(), @priority, start_time)
end

#process_jobObject



28
29
30
31
32
33
34
35
36
# File 'lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb', line 28

def process_job
  start_time = Time.now
    
  ErpTechSvcs::Sessions::DeleteExpiredSessionsService.new.execute
    
  end_time = Time.now
    
  return end_time - start_time
end