Method: Karafka::Pro::RecurringTasks::Serializer#log

Defined in:
lib/karafka/pro/recurring_tasks/serializer.rb

#log(event) ⇒ String

Returns serialized and compressed event log data.

Parameters:

  • event (Karafka::Core::Monitoring::Event)

    recurring task dispatch event

Returns:

  • (String)

    serialized and compressed event log data



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/karafka/pro/recurring_tasks/serializer.rb', line 68

def log(event)
  task = event[:task]

  data = {
    schema_version: SCHEMA_VERSION,
    schedule_version: Karafka::Pro::RecurringTasks.schedule.version,
    dispatched_at: Time.now.to_f,
    type: 'log',
    task: {
      id: task.id,
      time_taken: event.payload[:time] || -1,
      result: event.payload.key?(:error) ? 'failure' : 'success'
    }
  }

  compress(
    serialize(data)
  )
end