Sha256: 4be2b5160ef6269e0e2057802a9cfb31d148d362d2a063a901a25a4254330d07

Contents?: true

Size: 1.42 KB

Versions: 6

Compression:

Stored size: 1.42 KB

Contents

require "benchmark"

module ErpTechSvcs
  module Sessions
    # Delayed Job to Reset Daily Assignments to Forecast
    class DeleteExpiredSessionsJob  

      def initialize
        @priority = 1
      end
  
      def perform
        time = Benchmark.measure do
          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
        end #benchmark
        
        # 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)
        
        #update job tracker
        JobTracker.job_ran('Delete Expired Sessions', self.class.name, ("(%.4fs)" % time.real), start_time)
      end

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

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
erp_tech_svcs-4.0.0 lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb
erp_tech_svcs-3.1.8 lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb
erp_tech_svcs-3.1.7 lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb
erp_tech_svcs-3.1.5 lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb
erp_tech_svcs-3.1.4 lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb
erp_tech_svcs-3.1.3 lib/erp_tech_svcs/sessions/delete_expired_sessions_job.rb