Module: Sidekiq::Tasks::Web::Helpers::TaskHelper

Extended by:
TaskHelper
Includes:
TagHelper
Included in:
TaskHelper
Defined in:
lib/sidekiq/tasks/web/helpers/task_helper.rb

Instance Method Summary collapse

Methods included from TagHelper

#build_classes, #build_tag

Instance Method Details

#find_task!(parameterized_name) ⇒ Object



17
18
19
20
21
# File 'lib/sidekiq/tasks/web/helpers/task_helper.rb', line 17

def find_task!(parameterized_name)
  name = unparameterize_task_name(parameterized_name)

  Sidekiq::Tasks.tasks.find_by!(name: name)
end

#format_task_duration(start_time, end_time) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/sidekiq/tasks/web/helpers/task_helper.rb', line 39

def format_task_duration(start_time, end_time)
  return "-" unless start_time && end_time

  duration_in_milliseconds = ((end_time - start_time) * 1000).to_i

  if duration_in_milliseconds >= 1000
    duration_in_seconds = (duration_in_milliseconds / 1000.0).round
    "#{[duration_in_seconds, 1].max}s"
  else
    "#{[duration_in_milliseconds, 1].max}ms"
  end
end

#parameterize_task_name(task_name) ⇒ Object



9
10
11
# File 'lib/sidekiq/tasks/web/helpers/task_helper.rb', line 9

def parameterize_task_name(task_name)
  task_name.gsub(":", "-")
end

#task_status(jid_history) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/sidekiq/tasks/web/helpers/task_helper.rb', line 27

def task_status(jid_history)
  if jid_history["error"]
    :failure
  elsif jid_history["finished_at"]
    :success
  elsif jid_history["executed_at"]
    :running
  else
    :pending
  end
end

#task_url(root_path, task) ⇒ Object



23
24
25
# File 'lib/sidekiq/tasks/web/helpers/task_helper.rb', line 23

def task_url(root_path, task)
  "#{root_path}tasks/#{parameterize_task_name(task.name)}"
end

#unparameterize_task_name(task_name) ⇒ Object



13
14
15
# File 'lib/sidekiq/tasks/web/helpers/task_helper.rb', line 13

def unparameterize_task_name(task_name)
  task_name.gsub("-", ":")
end