mini_scheduler 0.12.1 → 0.12.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 777f9e6ead21883c1d387e2a0dde3385232ba427f815c4061bd2e458a67952a7
4
- data.tar.gz: 70276e36f76000faa0754ab4c012adde2a4543c84e6ea6a53ed7c995baa14169
3
+ metadata.gz: 5245e51580c6faf50498bc135f734972487c05558a6896904bfafee834cc7693
4
+ data.tar.gz: 1b8642c7cd5e91dfc6b43defd1c3bc4656114bb7e8fe642c29bba41b74865010
5
5
  SHA512:
6
- metadata.gz: 51c6d80f4f13168b7b1c268a54c8b73e52d116c60d6c6065f6e9d7776e4cb0bd1358665538c43d7df890da062a5254b52b2bd962403d2fa3d96640a1d97fed44
7
- data.tar.gz: fa88eda9058769f2c60abb6b041f87fc8923e78b2c00a2685d5be0be4a245ce22bbf7cd1bb9784410c2a9de6881ac5b1b231a4c989c1abc5a3ac7140e9382bcc
6
+ metadata.gz: ca4d9476ead76bcf47fd9a97ae1ab4186f659cb910b112236d2932f5c13eafb47fa173ce4dbeb65693569086c063bc75713565f7dce4ca3b44398a182f41bcda
7
+ data.tar.gz: ac955352d65e1748e723b36691880c30cf4fa0db4198d4a2ecf58b7edf00fd23d6161d652c24b9409e793555399563845d82769cf6fe5443fc67e92d7ae3e38e
@@ -1,3 +1,7 @@
1
+ # 0.12.2 - 11-09-2019
2
+
3
+ - Allow sorting schedule history by schedule name
4
+
1
5
  # 0.12.1 - 30-08-2019
2
6
 
3
7
  - Jobs that change family from per host to non per host can cause a tight loop
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MiniScheduler
4
- VERSION = "0.12.1"
4
+ VERSION = "0.12.2"
5
5
  end
@@ -2,7 +2,20 @@
2
2
  <div class="col-sm-12">
3
3
  <h3>Scheduler History</h3>
4
4
  </div>
5
+
6
+ <div class="col-sm-12">
7
+ <form>
8
+ <select name="filter">
9
+ <option value="All" <%= "selected" if !@filter %>>All</option>
10
+ <% @schedules.each do |schedule| %>
11
+ <option value="<%=schedule%>" <%= "selected" if @filter == schedule.to_s%>><%=schedule%></option>
12
+ <% end %>
13
+ </select>
14
+ <input type="submit" value="Filter">
15
+ </form>
16
+ </div>
5
17
  </header>
18
+ <br>
6
19
 
7
20
  <div class="container">
8
21
  <div class="row">
@@ -39,7 +39,7 @@
39
39
  <td>
40
40
  <%= sane_duration @info.prev_duration %>
41
41
  </td>
42
- <td>
42
+ <td style="word-wrap: break-word">
43
43
  <%= @info.current_owner %>
44
44
  </td>
45
45
  <td>
@@ -4,6 +4,20 @@ module MiniScheduler
4
4
  module Web
5
5
  VIEWS = File.expand_path('views', File.dirname(__FILE__)) unless defined? VIEWS
6
6
 
7
+ def self.find_schedules_by_time
8
+ Manager.discover_schedules.sort do |a, b|
9
+ a_next = a.schedule_info.next_run
10
+ b_next = b.schedule_info.next_run
11
+ if a_next && b_next
12
+ a_next <=> b_next
13
+ elsif a_next
14
+ -1
15
+ else
16
+ 1
17
+ end
18
+ end
19
+ end
20
+
7
21
  def self.registered(app)
8
22
 
9
23
  app.helpers do
@@ -24,23 +38,24 @@ module MiniScheduler
24
38
 
25
39
  app.get "/scheduler" do
26
40
  MiniScheduler.before_sidekiq_web_request&.call
27
- @schedules = Manager.discover_schedules.sort do |a, b|
28
- a_next = a.schedule_info.next_run
29
- b_next = b.schedule_info.next_run
30
- if a_next && b_next
31
- a_next <=> b_next
32
- elsif a_next
33
- -1
34
- else
35
- 1
36
- end
37
- end
41
+ @schedules = Web.find_schedules_by_time
38
42
  erb File.read(File.join(VIEWS, 'scheduler.erb')), locals: { view_path: VIEWS }
39
43
  end
40
44
 
41
45
  app.get "/scheduler/history" do
42
46
  MiniScheduler.before_sidekiq_web_request&.call
43
- @scheduler_stats = Stat.order('started_at desc').limit(200)
47
+ @schedules = Manager.discover_schedules
48
+ @schedules.sort_by!(&:to_s)
49
+ @scheduler_stats = Stat.order('started_at desc')
50
+
51
+ @filter = params[:filter]
52
+ names = @schedules.map(&:to_s)
53
+ @filter = nil if !names.include?(@filter)
54
+ if @filter
55
+ @scheduler_stats = @scheduler_stats.where(name: @filter)
56
+ end
57
+
58
+ @scheduler_stats = @scheduler_stats.limit(200)
44
59
  erb File.read(File.join(VIEWS, 'history.erb')), locals: { view_path: VIEWS }
45
60
  end
46
61
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_scheduler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.1
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-08-30 00:00:00.000000000 Z
12
+ date: 2019-09-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sidekiq