rewritten 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rewritten/server/views/delete.erb +9 -4
- data/lib/rewritten/server/views/new.erb +5 -4
- data/lib/rewritten/server/views/to.erb +2 -2
- data/lib/rewritten/server/views/translations.erb +1 -1
- data/lib/rewritten/server.rb +1 -1
- data/lib/rewritten/version.rb +1 -1
- metadata +7 -11
- data/lib/rewritten/server/views/failed.erb +0 -64
- data/lib/rewritten/server/views/key_sets.erb +0 -19
- data/lib/rewritten/server/views/key_string.erb +0 -11
- data/lib/rewritten/server/views/queues.erb +0 -49
- data/lib/rewritten/server/views/workers.erb +0 -109
- data/lib/rewritten/server/views/working.erb +0 -72
@@ -1,14 +1,19 @@
|
|
1
|
-
<div style="
|
1
|
+
<div style="">
|
2
2
|
<% if @from && @to %>
|
3
|
-
|
3
|
+
|
4
|
+
<h2 style="width: 90%; overflow: scroll"><%= @from %> -> <%= @to %> </h2>
|
5
|
+
|
6
|
+
<div style="float :left">
|
7
|
+
|
4
8
|
<p>Are you sure you want to delete above translation?</p>
|
5
9
|
<form action='<%= u("/delete")%>' method="post" style="margin-top: 10px ">
|
6
10
|
<input type="hidden" name="_method" value="delete">
|
7
11
|
<input type="hidden" name="from" value="<%= @from %>">
|
8
|
-
<input type="hidden" name="to" value="<%= @to %>">
|
12
|
+
<input type="hidden" name="to" value="<%= @to %>">
|
9
13
|
<input type="submit" value="Yes, Delete It!">
|
10
|
-
<a href='<%= u("/to?to=#{@to}") %>'>Cancel</a>
|
14
|
+
<a href='<%= u("/to?to=#{escape(@to)}") %>'>Cancel</a>
|
11
15
|
</form>
|
16
|
+
</div>
|
12
17
|
<% else %>
|
13
18
|
<p>Translation not found.</p>
|
14
19
|
<% end %>
|
@@ -1,13 +1,14 @@
|
|
1
1
|
|
2
2
|
|
3
|
-
<h1>
|
3
|
+
<h1>New Translation</h1>
|
4
4
|
|
5
5
|
|
6
6
|
<div style="float: left; margin-top: 10px">
|
7
|
-
<form method="POST" action="<%= u "/translations" %>">
|
8
|
-
<label>From
|
9
|
-
<label>To
|
7
|
+
<form method="POST" action="<%= u "/translations" %>" >
|
8
|
+
<label>From (what the user sees) </label><br/> <input type="text" name="from" size="80"/> <br />
|
9
|
+
<label>To (what your app sees) </label><br/> <input type="text" name="to" size="80" value="<%= params[:to] %>" /> <br />
|
10
10
|
<input type="submit" value="Create" />
|
11
|
+
<a href='<%= u("/translations") %>'>Cancel</a>
|
11
12
|
</form>
|
12
13
|
</div>
|
13
14
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
<h1 class='wi'><%= params[:to] %> (App URL)</h1>
|
3
3
|
|
4
|
-
<a href="<%= u(%|/new?to=#{params[:to]}|) %>"> + add another translation </a>
|
4
|
+
<a href="<%= u(%|/new?to=#{Rack::Utils.escape(params[:to])}|) %>"> + add another translation </a>
|
5
5
|
|
6
6
|
<table class='queues'>
|
7
7
|
<tr>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<% for translation in Rewritten.list_range("to:#{params[:to]}", 0, 100) %>
|
13
13
|
<tr>
|
14
14
|
<td class=''><a href="<%= translation %>" target="new"><%= translation %></td>
|
15
|
-
<td class=''><a href="<%= u("/delete?from=#{translation}&to=#{params[:to]}") %>">Delete</a></td>
|
15
|
+
<td class=''><a href="<%= u("/delete?from=#{translation}&to=#{escape(params[:to])}") %>">Delete</a></td>
|
16
16
|
</tr>
|
17
17
|
<% end %>
|
18
18
|
|
@@ -49,7 +49,7 @@
|
|
49
49
|
<% for mapping in Rewritten.list_range("froms", params[:start].to_i, Rewritten.per_page) %>
|
50
50
|
<tr>
|
51
51
|
<td class=''><a href="<%= mapping %>" target="new"><%= mapping %></td>
|
52
|
-
<td class=''><a href="<%= u("/to?to=#{to=Rewritten.redis.get("from:#{mapping}")}") %>"><%= to %></td>
|
52
|
+
<td class=''><a href="<%= u("/to?to=#{escape(to=Rewritten.redis.get("from:#{mapping}"))}") %>"><%= to %></td>
|
53
53
|
</tr>
|
54
54
|
<% end %>
|
55
55
|
|
data/lib/rewritten/server.rb
CHANGED
data/lib/rewritten/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rewritten
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kai Rubarth
|
@@ -15,7 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-09-
|
18
|
+
date: 2011-09-10 00:00:00 +02:00
|
19
|
+
default_executable:
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: redis-namespace
|
@@ -117,24 +118,19 @@ files:
|
|
117
118
|
- lib/rewritten/server/views/clear_hits.erb
|
118
119
|
- lib/rewritten/server/views/delete.erb
|
119
120
|
- lib/rewritten/server/views/error.erb
|
120
|
-
- lib/rewritten/server/views/failed.erb
|
121
121
|
- lib/rewritten/server/views/hits.erb
|
122
|
-
- lib/rewritten/server/views/key_sets.erb
|
123
|
-
- lib/rewritten/server/views/key_string.erb
|
124
122
|
- lib/rewritten/server/views/layout.erb
|
125
123
|
- lib/rewritten/server/views/new.erb
|
126
124
|
- lib/rewritten/server/views/next_more.erb
|
127
125
|
- lib/rewritten/server/views/overview.erb
|
128
|
-
- lib/rewritten/server/views/queues.erb
|
129
126
|
- lib/rewritten/server/views/stats.erb
|
130
127
|
- lib/rewritten/server/views/to.erb
|
131
128
|
- lib/rewritten/server/views/translations.erb
|
132
|
-
- lib/rewritten/server/views/workers.erb
|
133
|
-
- lib/rewritten/server/views/working.erb
|
134
129
|
- lib/rewritten/version.rb
|
135
130
|
- lib/test.ru
|
136
131
|
- rewritten.gemspec
|
137
132
|
- test/test_rewritten.rb
|
133
|
+
has_rdoc: true
|
138
134
|
homepage: ""
|
139
135
|
licenses: []
|
140
136
|
|
@@ -164,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
160
|
requirements: []
|
165
161
|
|
166
162
|
rubyforge_project: rewritten
|
167
|
-
rubygems_version: 1.
|
163
|
+
rubygems_version: 1.6.2
|
168
164
|
signing_key:
|
169
165
|
specification_version: 3
|
170
166
|
summary: A redis-based URL rewriting engine
|
@@ -1,64 +0,0 @@
|
|
1
|
-
<%start = params[:start].to_i %>
|
2
|
-
<%failed = Resque::Failure.all(start, 20)%>
|
3
|
-
<% index = 0 %>
|
4
|
-
<% date_format = "%Y/%m/%d %T %z" %>
|
5
|
-
|
6
|
-
<h1>Failed Jobs</h1>
|
7
|
-
<%unless failed.empty?%>
|
8
|
-
<form method="POST" action="<%=u 'failed/clear'%>" class='clear-failed'>
|
9
|
-
<input type='submit' name='' value='Clear Failed Jobs' />
|
10
|
-
</form>
|
11
|
-
<%end%>
|
12
|
-
|
13
|
-
<p class='sub'>Showing <%=start%> to <%= start + 20 %> of <b><%= size = Resque::Failure.count %></b> jobs</p>
|
14
|
-
|
15
|
-
<ul class='failed'>
|
16
|
-
<%for job in failed%>
|
17
|
-
<% index += 1 %>
|
18
|
-
<li>
|
19
|
-
<dl>
|
20
|
-
<% if job.nil? %>
|
21
|
-
<dt>Error</dt>
|
22
|
-
<dd>Job <%= index%> could not be parsed; perhaps it contains invalid JSON?</dd>
|
23
|
-
<% else %>
|
24
|
-
<dt>Worker</dt>
|
25
|
-
<dd>
|
26
|
-
<a href="<%= u(:workers, job['worker']) %>"><%= job['worker'].split(':')[0...2].join(':') %></a> on <b class='queue-tag'><%= job['queue'] %></b > at <b><span class="time"><%= Time.parse(job['failed_at']).strftime(date_format) %></span></b>
|
27
|
-
<% if job['retried_at'] %>
|
28
|
-
<div class='retried'>
|
29
|
-
Retried <b><span class="time"><%= Time.parse(job['retried_at']).strftime(date_format) %></span></b>
|
30
|
-
<a href="<%= u "failed/remove/#{start + index - 1}" %>" class="remove" rel="remove">Remove</a>
|
31
|
-
</div>
|
32
|
-
<% else %>
|
33
|
-
<div class='controls'>
|
34
|
-
<a href="<%= u "failed/requeue/#{start + index - 1}" %>" rel="retry">Retry</a>
|
35
|
-
or
|
36
|
-
<a href="<%= u "failed/remove/#{start + index - 1}" %>" rel="remove">Remove</a>
|
37
|
-
</div>
|
38
|
-
<% end %>
|
39
|
-
</dd>
|
40
|
-
<dt>Class</dt>
|
41
|
-
<dd><code><%= job['payload'] ? job['payload']['class'] : 'nil' %></code></dd>
|
42
|
-
<dt>Arguments</dt>
|
43
|
-
<dd><pre><%=h job['payload'] ? show_args(job['payload']['args']) : 'nil' %></pre></dd>
|
44
|
-
<dt>Exception</dt>
|
45
|
-
<dd><code><%= job['exception'] %></code></dd>
|
46
|
-
<dt>Error</dt>
|
47
|
-
<dd class='error'>
|
48
|
-
<% if job['backtrace'] %>
|
49
|
-
<a href="#" class="backtrace"><%= h(job['error']) %></a>
|
50
|
-
<pre style='display:none'><%=h job['backtrace'].join("\n") %></pre>
|
51
|
-
<% else %>
|
52
|
-
<%=h job['error'] %>
|
53
|
-
<% end %>
|
54
|
-
</dd>
|
55
|
-
<% end %>
|
56
|
-
</dl>
|
57
|
-
<div class='r'>
|
58
|
-
</div>
|
59
|
-
</li>
|
60
|
-
<%end%>
|
61
|
-
</ul>
|
62
|
-
|
63
|
-
<%= partial :next_more, :start => start, :size => size %>
|
64
|
-
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<% if key = params[:key] %>
|
2
|
-
|
3
|
-
<p class='sub'>
|
4
|
-
Showing <%= start = params[:start].to_i %> to <%= start + 20 %> of <b><%=size = redis_get_size(key) %></b>
|
5
|
-
</p>
|
6
|
-
|
7
|
-
<h1>Key "<%= key %>" is a <%= resque.redis.type key %></h1>
|
8
|
-
<table>
|
9
|
-
<% for row in redis_get_value_as_array(key, start) %>
|
10
|
-
<tr>
|
11
|
-
<td>
|
12
|
-
<%= row %>
|
13
|
-
</td>
|
14
|
-
</tr>
|
15
|
-
<% end %>
|
16
|
-
</table>
|
17
|
-
|
18
|
-
<%= partial :next_more, :start => start, :size => size %>
|
19
|
-
<% end %>
|
@@ -1,49 +0,0 @@
|
|
1
|
-
<%# @subtabs = resque.queues unless partial? || params[:id].nil? %>
|
2
|
-
|
3
|
-
<% if queue = params[:id] %>
|
4
|
-
|
5
|
-
<h1>Pending jobs on <span class='hl'><%= queue %></span></h1>
|
6
|
-
<form method="POST" action="<%=u "/queues/#{queue}/remove" %>" class='remove-queue'>
|
7
|
-
<input type='submit' name='' value='Remove Queue' onclick='return confirm("Are you absolutely sure? This cannot be undone.");' />
|
8
|
-
</form>
|
9
|
-
<p class='sub'>Showing <%= start = params[:start].to_i %> to <%= start + 20 %> of <b><%=size = rewritten.size(queue)%></b> jobs</p>
|
10
|
-
<table class='jobs'>
|
11
|
-
<tr>
|
12
|
-
<th>Class</th>
|
13
|
-
<th>Args</th>
|
14
|
-
</tr>
|
15
|
-
<% for job in (jobs = rewritten.peek(queue, start, 20)) %>
|
16
|
-
<tr>
|
17
|
-
<td class='class'><%= job['class'] %></td>
|
18
|
-
<td class='args'><%=h job['args'].inspect %></td>
|
19
|
-
</tr>
|
20
|
-
<% end %>
|
21
|
-
<% if jobs.empty? %>
|
22
|
-
<tr>
|
23
|
-
<td class='no-data' colspan='2'>There are no pending jobs in this queue</td>
|
24
|
-
</tr>
|
25
|
-
<% end %>
|
26
|
-
</table>
|
27
|
-
<%= partial :next_more, :start => start, :size => size %>
|
28
|
-
<% else %>
|
29
|
-
|
30
|
-
<h1 class='wi'>Queues</h1>
|
31
|
-
<p class='intro'>The list below contains all the registered queues with the number of jobs currently in the queue. Select a queue from above to view all jobs currently pending on the queue.</p>
|
32
|
-
<table class='queues'>
|
33
|
-
<tr>
|
34
|
-
<th>Name</th>
|
35
|
-
<th>Jobs</th>
|
36
|
-
</tr>
|
37
|
-
<% for queue in rewritten.queues.sort_by { |q| q.to_s } %>
|
38
|
-
<tr>
|
39
|
-
<td class='queue'><a class="queue" href="<%= u "queues/#{queue}" %>"><%= queue %></a></td>
|
40
|
-
<td class='size'><%= rewritten.size queue %></td>
|
41
|
-
</tr>
|
42
|
-
<% end %>
|
43
|
-
<tr class="<%= Rewritten::Failure.count.zero? ? "failed" : "failure" %>">
|
44
|
-
<td class='queue failed'><a class="queue" href="<%= u :failed %>">failed</a></td>
|
45
|
-
<td class='size'><%= Rewritten::Failure.count %></td>
|
46
|
-
</tr>
|
47
|
-
</table>
|
48
|
-
|
49
|
-
<% end %>
|
@@ -1,109 +0,0 @@
|
|
1
|
-
<% @subtabs = worker_hosts.keys.sort unless worker_hosts.size == 1 %>
|
2
|
-
|
3
|
-
<% if params[:id] && worker = Resque::Worker.find(params[:id]) %>
|
4
|
-
|
5
|
-
<h1>Worker <%= worker %></h1>
|
6
|
-
<table class='workers'>
|
7
|
-
<tr>
|
8
|
-
<th> </th>
|
9
|
-
<th>Host</th>
|
10
|
-
<th>Pid</th>
|
11
|
-
<th>Started</th>
|
12
|
-
<th>Queues</th>
|
13
|
-
<th>Processed</th>
|
14
|
-
<th>Failed</th>
|
15
|
-
<th>Processing</th>
|
16
|
-
</tr>
|
17
|
-
<tr>
|
18
|
-
<td class='icon'><img src="<%=u state = worker.state %>.png" alt="<%= state %>" title="<%= state %>"></td>
|
19
|
-
|
20
|
-
<% host, pid, queues = worker.to_s.split(':') %>
|
21
|
-
<td><%= host %></td>
|
22
|
-
<td><%= pid %></td>
|
23
|
-
<td><span class="time"><%= worker.started %></span></td>
|
24
|
-
<td class='queues'><%= queues.split(',').map { |q| '<a class="queue-tag" href="' + u("/queues/#{q}") + '">' + q + '</a>'}.join('') %></td>
|
25
|
-
<td><%= worker.processed %></td>
|
26
|
-
<td><%= worker.failed %></td>
|
27
|
-
<td class='process'>
|
28
|
-
<% data = worker.processing || {} %>
|
29
|
-
<% if data['queue'] %>
|
30
|
-
<code><%= data['payload']['class'] %></code>
|
31
|
-
<small><a class="queue time" href="<%=u "/working/#{worker}" %>"><%= data['run_at'] %></a></small>
|
32
|
-
<% else %>
|
33
|
-
<span class='waiting'>Waiting for a job...</span>
|
34
|
-
<% end %>
|
35
|
-
</td>
|
36
|
-
</tr>
|
37
|
-
</table>
|
38
|
-
|
39
|
-
<% elsif params[:id] && !worker_hosts.keys.include?(params[:id]) && params[:id] != 'all' %>
|
40
|
-
|
41
|
-
<h1>Worker doesn't exist</h1>
|
42
|
-
|
43
|
-
<% elsif worker_hosts.size == 1 || params[:id] %>
|
44
|
-
|
45
|
-
<% if worker_hosts.size == 1 || params[:id] == 'all' %>
|
46
|
-
<% workers = Resque.workers %>
|
47
|
-
<% else %>
|
48
|
-
<% workers = worker_hosts[params[:id]].map { |id| Resque::Worker.find(id) } %>
|
49
|
-
<% end %>
|
50
|
-
|
51
|
-
<h1 class='wi'><%= workers.size %> Workers</h1>
|
52
|
-
<p class='intro'>The workers listed below are all registered as active on your system.</p>
|
53
|
-
<table class='workers'>
|
54
|
-
<tr>
|
55
|
-
<th> </th>
|
56
|
-
<th>Where</th>
|
57
|
-
<th>Queues</th>
|
58
|
-
<th>Processing</th>
|
59
|
-
</tr>
|
60
|
-
<% for worker in (workers = workers.sort_by { |w| w.to_s }) %>
|
61
|
-
<tr class="<%=state = worker.state%>">
|
62
|
-
<td class='icon'><img src="<%=u state %>.png" alt="<%= state %>" title="<%= state %>"></td>
|
63
|
-
|
64
|
-
<% host, pid, queues = worker.to_s.split(':') %>
|
65
|
-
<td class='where'><a href="<%=u "workers/#{worker}"%>"><%= host %>:<%= pid %></a></td>
|
66
|
-
<td class='queues'><%= queues.split(',').map { |q| '<a class="queue-tag" href="' + u("/queues/#{q}") + '">' + q + '</a>'}.join('') %></td>
|
67
|
-
|
68
|
-
<td class='process'>
|
69
|
-
<% data = worker.processing || {} %>
|
70
|
-
<% if data['queue'] %>
|
71
|
-
<code><%= data['payload']['class'] %></code>
|
72
|
-
<small><a class="queue time" href="<%=u "/working/#{worker}" %>"><%= data['run_at'] %></a></small>
|
73
|
-
<% else %>
|
74
|
-
<span class='waiting'>Waiting for a job...</span>
|
75
|
-
<% end %>
|
76
|
-
</td>
|
77
|
-
</tr>
|
78
|
-
<% end %>
|
79
|
-
<% if workers.empty? %>
|
80
|
-
<tr>
|
81
|
-
<td colspan='4' class='no-data'>There are no registered workers</td>
|
82
|
-
</tr>
|
83
|
-
<% end %>
|
84
|
-
</table>
|
85
|
-
<%=poll%>
|
86
|
-
|
87
|
-
<% else %>
|
88
|
-
<% @subtabs = [] %>
|
89
|
-
<h1 class='wi'>Workers</h1>
|
90
|
-
<p class='intro'>The hostnames below all have registered workers. Select a hostname to view its workers, or "all" to see all workers.</p>
|
91
|
-
<table class='queues'>
|
92
|
-
<tr>
|
93
|
-
<th>Hostname</th>
|
94
|
-
<th>Workers</th>
|
95
|
-
</tr>
|
96
|
-
<% for hostname, workers in worker_hosts.sort_by { |h,w| h } %>
|
97
|
-
<tr>
|
98
|
-
<td class='queue'><a class="queue" href="<%= u "workers/#{hostname}" %>"><%= hostname %></a></td>
|
99
|
-
<td class='size'><%= workers.size %></td>
|
100
|
-
</tr>
|
101
|
-
<% end %>
|
102
|
-
<tr class="failed">
|
103
|
-
<td class='queue failed'><a class="queue" href="<%= u "workers/all" %>">all workers</a></td>
|
104
|
-
<td class='size'><%= Resque.workers.size %></td>
|
105
|
-
</tr>
|
106
|
-
</table>
|
107
|
-
|
108
|
-
|
109
|
-
<% end %>
|
@@ -1,72 +0,0 @@
|
|
1
|
-
<% if params[:id] && (worker = Resque::Worker.find(params[:id])) && worker.job %>
|
2
|
-
<h1><%= worker %>'s job</h1>
|
3
|
-
|
4
|
-
<table>
|
5
|
-
<tr>
|
6
|
-
<th> </th>
|
7
|
-
<th>Where</th>
|
8
|
-
<th>Queue</th>
|
9
|
-
<th>Started</th>
|
10
|
-
<th>Class</th>
|
11
|
-
<th>Args</th>
|
12
|
-
</tr>
|
13
|
-
<tr>
|
14
|
-
<td><img src="<%=u 'working.png' %>" alt="working" title="working"></td>
|
15
|
-
<% host, pid, _ = worker.to_s.split(':') %>
|
16
|
-
<td><a href="<%=u "/workers/#{worker}" %>"><%= host %>:<%= pid %></a></td>
|
17
|
-
<% data = worker.job %>
|
18
|
-
<% queue = data['queue'] %>
|
19
|
-
<td><a class="queue" href="<%=u "/queues/#{queue}" %>"><%= queue %></a></td>
|
20
|
-
<td><span class="time"><%= data['run_at'] %></span></td>
|
21
|
-
<td>
|
22
|
-
<code><%= data['payload']['class'] %></code>
|
23
|
-
</td>
|
24
|
-
<td><%=h data['payload']['args'].inspect %></td>
|
25
|
-
</tr>
|
26
|
-
</table>
|
27
|
-
|
28
|
-
<% else %>
|
29
|
-
|
30
|
-
<%
|
31
|
-
workers = resque.working
|
32
|
-
jobs = workers.collect {|w| w.job }
|
33
|
-
worker_jobs = workers.zip(jobs)
|
34
|
-
worker_jobs = worker_jobs.reject { |w, j| w.idle? }
|
35
|
-
%>
|
36
|
-
|
37
|
-
<h1 class='wi'><%= worker_jobs.size %> of <%= resque.workers.size %> Workers Working</h1>
|
38
|
-
<p class='intro'>The list below contains all workers which are currently running a job.</p>
|
39
|
-
<table class='workers'>
|
40
|
-
<tr>
|
41
|
-
<th> </th>
|
42
|
-
<th>Where</th>
|
43
|
-
<th>Queue</th>
|
44
|
-
<th>Processing</th>
|
45
|
-
</tr>
|
46
|
-
<% if worker_jobs.empty? %>
|
47
|
-
<tr>
|
48
|
-
<td colspan="4" class='no-data'>Nothing is happening right now...</td>
|
49
|
-
</tr>
|
50
|
-
<% end %>
|
51
|
-
|
52
|
-
<% worker_jobs.sort_by {|w, j| j['run_at'] ? j['run_at'] : '' }.each do |worker, job| %>
|
53
|
-
<tr>
|
54
|
-
<td class='icon'><img src="<%=u state = worker.state %>.png" alt="<%= state %>" title="<%= state %>"></td>
|
55
|
-
<% host, pid, queues = worker.to_s.split(':') %>
|
56
|
-
<td class='where'><a href="<%=u "/workers/#{worker}" %>"><%= host %>:<%= pid %></a></td>
|
57
|
-
<td class='queues queue'>
|
58
|
-
<a class="queue-tag" href="<%=u "/queues/#{job['queue']}" %>"><%= job['queue'] %></a>
|
59
|
-
</td>
|
60
|
-
<td class='process'>
|
61
|
-
<% if job['queue'] %>
|
62
|
-
<code><%= job['payload']['class'] %></code>
|
63
|
-
<small><a class="queue time" href="<%=u "/working/#{worker}" %>"><%= job['run_at'] %></a></small>
|
64
|
-
<% else %>
|
65
|
-
<span class='waiting'>Waiting for a job...</span>
|
66
|
-
<% end %>
|
67
|
-
</td>
|
68
|
-
</tr>
|
69
|
-
<% end %>
|
70
|
-
</table>
|
71
|
-
|
72
|
-
<% end %>
|