sidekiq 2.13.1 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

@@ -0,0 +1,73 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <title><%= Sidekiq::NAME %></title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1.0" />
6
+ <link href="<%= root_path %>stylesheets/bootstrap.css" media="screen" rel="stylesheet" type="text/css" />
7
+ <link href="<%= root_path %>stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
8
+ <script type="text/javascript" src="<%= root_path %>javascripts/application.js"></script>
9
+ <script type="text/javascript" src="<%= root_path %>javascripts/locales/jquery.timeago.<%= locale %>.js"></script>
10
+ <% if params[:poll] %>
11
+ <script>
12
+ setInterval("window.location.reload(true)", 2000);
13
+ </script>
14
+ <% end %>
15
+ </head>
16
+ <body class="admin">
17
+ <div class="navbar navbar-fixed-top">
18
+ <%= erb :_nav %>
19
+ </div>
20
+
21
+ <div id="page">
22
+ <div class="container">
23
+ <div class="row">
24
+ <div class="span12 summary_bar">
25
+ <div class="row">
26
+ <h4 class="span10">
27
+ <span class="title"><%= t('Status') %></span>
28
+ <%= erb :_status %>
29
+ </h4>
30
+ <% unless current_path == '' %>
31
+ <div class="span2 pull-right actions">
32
+ <% if params[:poll] %>
33
+ <a id="live-poll" class="btn btn-block btn-primary active" href="<%= root_path %><%= current_path %>"><%= t('StopPolling') %></a>
34
+ <% else %>
35
+ <a id="live-poll" class="btn btn-block btn-primary" href="<%= root_path %><%= current_path %>?poll=true"><%= t('LivePoll') %></a>
36
+ <% end %>
37
+ </div>
38
+ <% end %>
39
+ </div>
40
+ <%= erb :_summary %>
41
+ </div>
42
+
43
+ <div class="span12">
44
+ <%= yield %>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+
50
+ <div class="navbar navbar-fixed-bottom navbar-inverse">
51
+ <div class="navbar-inner">
52
+ <div class="container">
53
+ <ul class="nav">
54
+ <li>
55
+ <p class="navbar-text" style="color:white;">Sidekiq v<%= Sidekiq::VERSION %></p>
56
+ </li>
57
+ <li>
58
+ <p class="navbar-text">Redis: <%= location %></p>
59
+ </li>
60
+ <li>
61
+ <p class="navbar-text"><%= t('Time') %>: <%= Time.now.utc.strftime('%H:%M:%S UTC') %></p>
62
+ </li>
63
+ <% if namespace %>
64
+ <li>
65
+ <p class="navbar-text"><%= t('Namespace') %>: <%= namespace %></p>
66
+ </li>
67
+ <% end %>
68
+ </ul>
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </body>
73
+ </html>
@@ -0,0 +1,38 @@
1
+ <header class="row">
2
+ <div class="span5">
3
+ <h3>
4
+ <%= t('CurrentMessagesInQueue', :queue => @name) %>
5
+ </h3>
6
+ </div>
7
+ <div class="span4 pull-right">
8
+ <%= erb :_paging, :locals => { :url => "#{root_path}queues/#{@name}" } %>
9
+ </div>
10
+ </header>
11
+ <table class="queue table table-hover table-bordered table-striped">
12
+ <thead>
13
+ <th><%= t('Class') %></th>
14
+ <th><%= t('Arguments') %></th>
15
+ <th></th>
16
+ </thead>
17
+ <% @messages.each_with_index do |msg, index| %>
18
+ <tr>
19
+ <td><%= msg['class'] %></td>
20
+ <td>
21
+ <% if msg['args'] and msg['args'].to_s.size > 100 %>
22
+ <%= msg['args'].inspect[0..100] + "... " %>
23
+ <button data-toggle="collapse" data-target="#worker_<%= index %>" class="btn btn-mini"><%= t('ShowAll') %></button>
24
+ <div class="toggle" id="worker_<%= index %>" style="display: none;"><%= msg['args'] %></div>
25
+ <% else %>
26
+ <%= msg['args'] %>
27
+ <% end %>
28
+ </td>
29
+ <td>
30
+ <form action="<%= root_path %>queues/<%= @name %>/delete" method="post">
31
+ <input name="key_val" value="<%= h Sidekiq.dump_json(msg) %>" type="hidden" />
32
+ <input class="btn btn-danger btn-mini" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSure') %>" />
33
+ </form>
34
+ </td>
35
+ </tr>
36
+ <% end %>
37
+ </table>
38
+ <%= erb :_paging, :locals => { :url => "#{root_path}queues/#{@name}" } %>
@@ -0,0 +1,22 @@
1
+ <h3><%= t('Queues') %></h3>
2
+
3
+ <table class="queues table table-hover table-bordered table-striped table-white">
4
+ <thead>
5
+ <th><%= t('Queue') %></th>
6
+ <th><%= t('Size') %></th>
7
+ <th><%= t('Actions') %></th>
8
+ </thead>
9
+ <% @queues.each do |queue| %>
10
+ <tr>
11
+ <td>
12
+ <a href="<%= root_path %>queues/<%= queue.name %>"><%= queue.name %></a>
13
+ </td>
14
+ <td><%= number_with_delimiter(queue.size) %> </td>
15
+ <td width="20%">
16
+ <form action="<%=root_path %>queues/<%= queue.name %>" method="post">
17
+ <input class="btn btn-danger btn-small" type="submit" name="delete" value="<%= t('Delete') %>" data-confirm="<%= t('AreYouSureDeleteQueue', :queue => queue.name) %>" />
18
+ </form>
19
+ </td>
20
+ </tr>
21
+ <% end %>
22
+ </table>
@@ -0,0 +1,57 @@
1
+ <header class="row">
2
+ <div class="span5">
3
+ <h3><%= t('Retries') %></h3>
4
+ </div>
5
+ <div class="span4">
6
+ <% if @retries.size > 0 %>
7
+ <%= erb :_paging, :locals => { :url => "#{root_path}retries" } %>
8
+ <% end %>
9
+ </div>
10
+ </header>
11
+
12
+ <% if @retries.size > 0 %>
13
+ <form action="<%= root_path %>retries" method="post">
14
+ <table class="table table-striped table-bordered table-white">
15
+ <tr>
16
+ <th width="20px">
17
+ <input type="checkbox" class="check_all" />
18
+ </th>
19
+ <th width="25%"><%= t('NextRetry') %></th>
20
+ <th width="11%"><%= t('RetryCount') %></th>
21
+ <th><%= t('Queue') %></th>
22
+ <th><%= t('Worker') %></th>
23
+ <th><%= t('Arguments') %></th>
24
+ </tr>
25
+ <% @retries.each do |msg, score| %>
26
+ <tr>
27
+ <td>
28
+ <input type='checkbox' name='key[]' value='<%= job_params(msg, score) %>' />
29
+ </td>
30
+ <td>
31
+ <a href="<%= root_path %>retries/<%= job_params(msg, score) %>"><%= relative_time(Time.at(score)) %></a>
32
+ </td>
33
+ <td><%= msg['retry_count'] %></td>
34
+ <td>
35
+ <a href="<%= root_path %>queues/<%= msg['queue'] %>"><%= msg['queue'] %></a>
36
+ </td>
37
+ <td><%= msg['class'] %></td>
38
+ <td>
39
+ <div class="args"><%= display_args(msg['args']) %></div>
40
+ </td>
41
+ </tr>
42
+ <% end %>
43
+ </table>
44
+ <input class="btn btn-primary btn-small pull-left" type="submit" name="retry" value="<%= t('RetryNow') %>" />
45
+ <input class="btn btn-danger btn-small pull-left" type="submit" name="delete" value="<%= t('Delete') %>" />
46
+ </form>
47
+
48
+ <form action="<%= root_path %>retries/all/delete" method="post">
49
+ <input class="btn btn-danger btn-small pull-right" type="submit" name="delete" value="<%= t('DeleteAll') %>" data-confirm="<%= t('AreYouSure') %>" />
50
+ </form>
51
+ <form action="<%= root_path %>retries/all/retry" method="post">
52
+ <input class="btn btn-danger btn-small pull-right" type="submit" name="retry" value="<%= t('RetryAll') %>" data-confirm="<%= t('AreYouSure') %>" />
53
+ </form>
54
+
55
+ <% else %>
56
+ <div class="alert alert-success"><%= t('NoRetriesFound') %></div>
57
+ <% end %>
@@ -0,0 +1,30 @@
1
+ <%= erb :_job_info, :locals => {:job => @retry, :type => :retry} %>
2
+
3
+ <h3><%= t('Error') %></h3>
4
+ <table class="error table table-bordered table-striped">
5
+ <tbody>
6
+ <tr>
7
+ <th><%= t('ErrorClass') %></th>
8
+ <td>
9
+ <code><%= @retry['error_class'] %></code>
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <th><%= t('ErrorMessage') %></th>
14
+ <td><%= @retry['error_message'] %></td>
15
+ </tr>
16
+ <% if !@retry['error_backtrace'].nil? %>
17
+ <tr>
18
+ <th><%= t('ErrorBacktrace') %></th>
19
+ <td>
20
+ <code><%= @retry['error_backtrace'].join("<br/>") %></code>
21
+ </td>
22
+ </tr>
23
+ <% end %>
24
+ </tbody>
25
+ </table>
26
+ <form class="form-horizontal" action="<%= root_path %>retries/<%= job_params(@retry, @retry.score) %>" method="post">
27
+ <a class="btn" href="<%= root_path %>retries"><%= t('GoBack') %></a>
28
+ <input class="btn btn-primary" type="submit" name="retry" value="<%= t('RetryNow') %>" />
29
+ <input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>" />
30
+ </form>
@@ -0,0 +1,48 @@
1
+ <header class="row">
2
+ <div class="span5">
3
+ <h3><%= t('ScheduledJobs') %></h3>
4
+ </div>
5
+ <div class="span4">
6
+ <% if @scheduled.size > 0 %>
7
+ <%= erb :_paging, :locals => { :url => "#{root_path}scheduled" } %>
8
+ <% end %>
9
+ </div>
10
+ </header>
11
+
12
+ <% if @scheduled.size > 0 %>
13
+
14
+ <form action="<%= root_path %>scheduled" method="post">
15
+ <table class="table table-striped table-bordered table-white">
16
+ <thead>
17
+ <th width="20px">
18
+ <input type="checkbox" class="check_all" />
19
+ </th>
20
+ <th width="25%"><%= t('When') %></th>
21
+ <th width="10%"><%= t('Queue') %></th>
22
+ <th><%= t('Worker') %></th>
23
+ <th><%= t('Arguments') %></th>
24
+ </thead>
25
+ <% @scheduled.each do |msg, score| %>
26
+ <tr>
27
+ <td>
28
+ <input type='checkbox' name='key[]' value='<%= job_params(msg, score) %>' />
29
+ </td>
30
+ <td>
31
+ <a href="<%= root_path %>scheduled/<%= job_params(msg, score) %>"><%= relative_time(Time.at(score)) %></a>
32
+ </td>
33
+ <td>
34
+ <a href="<%= root_path %>queues/<%= msg['queue'] %>"><%= msg['queue'] %></a>
35
+ </td>
36
+ <td><%= msg['class'] %></td>
37
+ <td>
38
+ <div class="args"><%= display_args(msg['args']) %></div>
39
+ </td>
40
+ </tr>
41
+ <% end %>
42
+ </table>
43
+ <input class="btn btn-danger pull-right" type="submit" name="delete" value="<%= t('Delete') %>" />
44
+ <input class="btn btn-danger pull-right" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
45
+ </form>
46
+ <% else %>
47
+ <div class="alert alert-success"><%= t('NoScheduledFound') %></div>
48
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <%= erb :_job_info, :locals => {:job => @job, :type => :scheduled} %>
2
+
3
+ <form class="form-horizontal" action="<%= root_path %>scheduled/<%= job_params(@job, @job.score) %>" method="post">
4
+ <a class="btn" href="<%= root_path %>scheduled"><%= t('GoBack') %></a>
5
+ <input class="btn btn-primary" type="submit" name="add_to_queue" value="<%= t('AddToQueue') %>" />
6
+ <input class="btn btn-danger" type="submit" name="delete" value="<%= t('Delete') %>" />
7
+ </form>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.13.1
4
+ version: 2.14.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-10 00:00:00.000000000 Z
12
+ date: 2013-08-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '3.0'
21
+ version: 3.0.4
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '3.0'
29
+ version: 3.0.4
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: redis-namespace
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -107,22 +107,6 @@ dependencies:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: slim
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: 1.1.0
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: 1.1.0
126
110
  - !ruby/object:Gem::Dependency
127
111
  name: minitest
128
112
  requirement: !ruby/object:Gem::Requirement
@@ -350,21 +334,21 @@ files:
350
334
  - web/locales/pt-br.yml
351
335
  - web/locales/pt.yml
352
336
  - web/locales/ru.yml
353
- - web/views/_job_info.slim
354
- - web/views/_nav.slim
355
- - web/views/_paging.slim
356
- - web/views/_status.slim
357
- - web/views/_summary.slim
358
- - web/views/_workers.slim
359
- - web/views/dashboard.slim
360
- - web/views/index.slim
361
- - web/views/layout.slim
362
- - web/views/queue.slim
363
- - web/views/queues.slim
364
- - web/views/retries.slim
365
- - web/views/retry.slim
366
- - web/views/scheduled.slim
367
- - web/views/scheduled_job_info.slim
337
+ - web/views/_job_info.erb
338
+ - web/views/_nav.erb
339
+ - web/views/_paging.erb
340
+ - web/views/_status.erb
341
+ - web/views/_summary.erb
342
+ - web/views/_workers.erb
343
+ - web/views/dashboard.erb
344
+ - web/views/index.erb
345
+ - web/views/layout.erb
346
+ - web/views/queue.erb
347
+ - web/views/queues.erb
348
+ - web/views/retries.erb
349
+ - web/views/retry.erb
350
+ - web/views/scheduled.erb
351
+ - web/views/scheduled_job_info.erb
368
352
  homepage: http://sidekiq.org
369
353
  licenses:
370
354
  - LGPL-3.0
@@ -1,51 +0,0 @@
1
- header
2
- h3 = t('Job')
3
-
4
- table class="table table-bordered table-striped"
5
- tbody
6
- tr
7
- th = t('Queue')
8
- td
9
- a href="#{root_path}queues/#{job['queue']}" #{job['queue']}
10
- tr
11
- th = t('Class')
12
- td
13
- code= job['class']
14
- tr
15
- th = t('Arguments')
16
- td
17
- code
18
- // We don't want to truncate any job arguments when viewing a single job's status page
19
- div.args-extended=display_args(job['args'], nil)
20
- tr
21
- th JID
22
- td
23
- code= job.jid
24
- tr
25
- th = t('Enqueued')
26
- td== relative_time(job.enqueued_at)
27
- - unless retry_extra_items(job).empty?
28
- tr
29
- th = t('Extras')
30
- td
31
- code
32
- = retry_extra_items(job).inspect
33
- - if type == :retry
34
- - if job['retry_count'] && job['retry_count'] > 0
35
- tr
36
- th = t('RetryCount')
37
- td= job['retry_count']
38
- tr
39
- th = t('LastRetry')
40
- td== relative_time(job['retried_at'].is_a?(Numeric) ? Time.at(job['retried_at']) : Time.parse(job['retried_at']))
41
- - else
42
- tr
43
- th = t('OriginallyFailed')
44
- td== relative_time(job['failed_at'].is_a?(Numeric) ? Time.at(job['failed_at']) : Time.parse(job['failed_at']))
45
- tr
46
- th = t('NextRetry')
47
- td== relative_time(job.at)
48
- - if type == :scheduled
49
- tr
50
- th = t('Scheduled')
51
- td== relative_time(job.at)
data/web/views/_nav.slim DELETED
@@ -1,16 +0,0 @@
1
- .navbar-inner
2
- .container
3
- a.brand href='#{{root_path}}'
4
- = Sidekiq::NAME
5
- ul.nav
6
- - tabs.each do |title, url|
7
- - if url == ''
8
- li class="#{current_path == url ? 'active' : ''}"
9
- a href="#{{root_path}}#{{url}}" = t(title)
10
- - else
11
- li class="#{current_path.start_with?(url) ? 'active' : ''}"
12
- a href="#{{root_path}}#{{url}}" = t(title)
13
-
14
- - custom_tabs.each do |title, url|
15
- li class="#{current_path.start_with?(url) ? 'active' : ''}"
16
- a href="#{{root_path}}#{{url}}" = t(title)
@@ -1,15 +0,0 @@
1
- - if @total_size > @count
2
- .pagination.pagination-right
3
- ul
4
- li class="#{'disabled' if @current_page == 1}"
5
- a href="#{url}?page=1" «
6
- - if @current_page > 1
7
- li
8
- a href="#{url}?page=#{@current_page - 1}" #{@current_page - 1}
9
- li.disabled
10
- a href="#{url}?page=#{@current_page}" #{@current_page}
11
- - if @total_size > @current_page * @count
12
- li
13
- a href="#{url}?page=#{@current_page + 1}" #{@current_page + 1}
14
- li class="#{'disabled' if @total_size <= @current_page * @count}"
15
- a href="#{url}?page=#{(@total_size.to_f / @count).ceil}" »
@@ -1,3 +0,0 @@
1
- span.status
2
- i class="status-sprite status-#{current_status}"
3
- == t(current_status)
@@ -1,19 +0,0 @@
1
- ul.unstyled.summary.row
2
- li.processed.span2
3
- span.count #{number_with_delimiter(stats.processed)}
4
- span.desc = t('Processed')
5
- li.failed.span2
6
- span.count #{number_with_delimiter(stats.failed)}
7
- span.desc = t('Failed')
8
- li.busy.span2
9
- span.count #{number_with_delimiter(workers_size)}
10
- span.desc = t('Busy')
11
- li.scheduled.span2
12
- span.count #{number_with_delimiter(stats.scheduled_size)}
13
- span.desc = t('Scheduled')
14
- li.retries.span2
15
- span.count #{number_with_delimiter(stats.retry_size)}
16
- span.desc = t('Retries')
17
- li.enqueued.span2
18
- span.count #{number_with_delimiter(stats.enqueued)}
19
- span.desc = t('Enqueued')
@@ -1,21 +0,0 @@
1
- table class="workers table table-hover table-bordered table-striped table-white"
2
- thead
3
- th = t('Worker')
4
- th = t('Queue')
5
- th = t('Class')
6
- th = t('Arguments')
7
- th = t('Started')
8
- - workers.each_with_index do |(worker, msg), index|
9
- tr
10
- td= worker
11
- td
12
- a href="#{root_path}queues/#{msg['queue']}" = msg['queue']
13
- td= msg['payload']['class']
14
- td
15
- - if msg['payload']['args'].to_s.size > 100
16
- = msg['payload']['args'].inspect[0..100] + "... "
17
- button data-toggle="collapse" data-target="#worker_#{index}" class="btn btn-mini" = t('ShowAll')
18
- .toggle[id="worker_#{index}" style="display: none;max-width: 750px;"]= msg['payload']['args']
19
- - else
20
- = msg['payload']['args']
21
- td== relative_time(msg['run_at'].is_a?(Numeric) ? Time.at(msg['run_at']) : Time.parse(msg['run_at']))
@@ -1,46 +0,0 @@
1
- script type="text/javascript" src="#{{root_path}}javascripts/dashboard.js"
2
-
3
- h3
4
- = t('Dashboard')
5
- span.beacon
6
- .ring
7
- .dot
8
-
9
- h5 = t('Realtime')
10
- #realtime
11
-
12
- h5
13
- span.history-heading = t('History')
14
- a href="#{{root_path}}?days=7" class="history-graph #{{"active" if params[:days] == "7"}}" = t('OneWeek')
15
- a href="#{{root_path}}" class="history-graph #{{"active" if params[:days].nil? || params[:days] == "30"}}" = t('OneMonth')
16
- a href="#{{root_path}}?days=90" class="history-graph #{{"active" if params[:days] == "90"}}" = t('ThreeMonths')
17
- a href="#{{root_path}}?days=180" class="history-graph #{{"active" if params[:days] == "180"}}" = t('SixMonths')
18
- #history data-processed="#{Sidekiq.dump_json(@processed_history)}" data-failed="#{Sidekiq.dump_json(@failed_history)}" data-update-url="#{{root_path}}dashboard/stats"
19
-
20
- br
21
- h5 Redis
22
-
23
- - if @redis_info.fetch("redis_version", nil)
24
- .stat
25
- h3.redis_version= @redis_info.fetch("redis_version")
26
- p = t('Version')
27
-
28
- - if @redis_info.fetch("uptime_in_days", nil)
29
- .stat
30
- h3.uptime_in_days= @redis_info.fetch("uptime_in_days")
31
- p = t('Uptime')
32
-
33
- - if @redis_info.fetch("connected_clients", nil)
34
- .stat
35
- h3.connected_clients= @redis_info.fetch("connected_clients")
36
- p = t('Connections')
37
-
38
- - if @redis_info.fetch("used_memory_human", nil)
39
- .stat
40
- h3.used_memory_human= @redis_info.fetch("used_memory_human")
41
- p = t('MemoryUsage')
42
-
43
- - if @redis_info.fetch("used_memory_peak_human", nil)
44
- .stat
45
- h3.used_memory_peak_human= @redis_info.fetch("used_memory_peak_human")
46
- p = t('PeakMemoryUsage')
data/web/views/index.slim DELETED
@@ -1,10 +0,0 @@
1
- .row.header
2
- .span7
3
- h3 = t('Workers')
4
-
5
- == slim :_workers
6
- - if workers_size > 0
7
- .row
8
- .span2.pull-right
9
- form action="#{root_path}reset" method="post"
10
- button.btn.btn-primary.btn-block type="submit" = t('ClearWorkerList')
@@ -1,50 +0,0 @@
1
- doctype html
2
- html
3
- head
4
- title= Sidekiq::NAME
5
- meta name="viewport" content="width=device-width,initial-scale=1.0"
6
- link href='#{{root_path}}stylesheets/bootstrap.css' media='screen' rel='stylesheet' type='text/css'
7
- link href='#{{root_path}}stylesheets/application.css' media='screen' rel='stylesheet' type='text/css'
8
- script type="text/javascript" src="#{{root_path}}javascripts/application.js"
9
- script type="text/javascript" src="#{{root_path}}javascripts/locales/jquery.timeago.#{locale}.js"
10
-
11
- - if params[:poll]
12
- javascript:
13
- setInterval("window.location.reload(true)", 2000);
14
-
15
- body.admin
16
- .navbar.navbar-fixed-top
17
- ==slim :_nav
18
-
19
- #page
20
- .container
21
- .row
22
- .span12.summary_bar
23
- .row
24
- h4.span10
25
- span.title = t('Status')
26
- == slim :_status
27
- - unless current_path == ''
28
- .span2.pull-right.actions
29
- - if params[:poll]
30
- a#live-poll.btn.btn-block.btn-primary.active href='#{{root_path}}#{{current_path}}' = t('StopPolling')
31
- - else
32
- a#live-poll.btn.btn-block.btn-primary href='#{{root_path}}#{{current_path}}?poll=true' = t('LivePoll')
33
- == slim :_summary
34
-
35
- .span12
36
- == yield
37
-
38
- .navbar.navbar-fixed-bottom.navbar-inverse
39
- .navbar-inner
40
- .container
41
- ul.nav
42
- li
43
- p.navbar-text style="color:white;" Sidekiq v#{Sidekiq::VERSION}
44
- li
45
- p.navbar-text Redis: #{location}
46
- li
47
- p.navbar-text #{t('Time')}: #{Time.now.utc.strftime('%H:%M:%S UTC')}
48
- - if namespace
49
- li
50
- p.navbar-text #{t('Namespace')}: #{namespace}
data/web/views/queue.slim DELETED
@@ -1,27 +0,0 @@
1
- header.row
2
- .span5
3
- h3
4
- == t('CurrentMessagesInQueue', :queue => @name)
5
- .span4.pull-right
6
- == slim :_paging, :locals => { :url => "#{root_path}queues/#{@name}" }
7
-
8
- table class="queue table table-hover table-bordered table-striped"
9
- thead
10
- th = t('Class')
11
- th = t('Arguments')
12
- th
13
- - @messages.each_with_index do |msg, index|
14
- tr
15
- td= msg['class']
16
- td
17
- - if msg['args'] and msg['args'].to_s.size > 100
18
- = msg['args'].inspect[0..100] + "... "
19
- button data-toggle="collapse" data-target="#worker_#{index}" class="btn btn-mini" = t('ShowAll')
20
- .toggle[id="worker_#{index}" style="display: none;"]= msg['args']
21
- - else
22
- = msg['args']
23
- td
24
- form action="#{root_path}queues/#{@name}/delete" method="post"
25
- input name="key_val" value="#{Sidekiq.dump_json(msg)}" type="hidden"
26
- input.btn.btn-danger.btn-mini type="submit" name="delete" value="#{t('Delete')}" data-confirm="#{t('AreYouSure')}"
27
- == slim :_paging, :locals => { :url => "#{root_path}queues/#{@name}" }