mini_scheduler 0.12.1 → 0.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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