Class: Pallets::Middleware::JobLogger
- Inherits:
-
Object
- Object
- Pallets::Middleware::JobLogger
- Defined in:
- lib/pallets/middleware/job_logger.rb
Class Method Summary collapse
Class Method Details
.call(worker, job, context) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/pallets/middleware/job_logger.rb', line 4 def self.call(worker, job, context) start_time = current_time Pallets.logger.((worker.id, job)) do begin Pallets.logger.info 'Started' result = yield Pallets.logger.info "Done in #{(current_time - start_time).round(3)}s" result rescue => ex Pallets.logger.warn "Failed after #{(current_time - start_time).round(3)}s" Pallets.logger.warn "#{ex.class.name}: #{ex.}" Pallets.logger.warn ex.backtrace.join("\n") unless ex.backtrace.nil? raise end end end |
.current_time ⇒ Object
32 33 34 |
# File 'lib/pallets/middleware/job_logger.rb', line 32 def self.current_time Process.clock_gettime(Process::CLOCK_MONOTONIC) end |
.extract_metadata(wid, job) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/pallets/middleware/job_logger.rb', line 22 def self.(wid, job) { wid: wid, wfid: job['wfid'], jid: job['jid'], wf: job['workflow_class'], tsk: job['task_class'], } end |