solid_queue_web 0.6.0 → 0.8.0

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +38 -6
  3. data/Rakefile +2 -2
  4. data/app/assets/stylesheets/solid_queue_web/_01_base.css +41 -0
  5. data/app/assets/stylesheets/solid_queue_web/_02_layout.css +133 -0
  6. data/app/assets/stylesheets/solid_queue_web/_03_stats.css +49 -0
  7. data/app/assets/stylesheets/solid_queue_web/_04_table.css +52 -0
  8. data/app/assets/stylesheets/solid_queue_web/_05_badges.css +27 -0
  9. data/app/assets/stylesheets/solid_queue_web/_06_buttons.css +38 -0
  10. data/app/assets/stylesheets/solid_queue_web/_07_forms.css +103 -0
  11. data/app/assets/stylesheets/solid_queue_web/_08_detail.css +84 -0
  12. data/app/assets/stylesheets/solid_queue_web/_09_pagination.css +27 -0
  13. data/app/assets/stylesheets/solid_queue_web/_10_responsive.css +73 -0
  14. data/app/assets/stylesheets/solid_queue_web/_11_throughput.css +68 -0
  15. data/app/assets/stylesheets/solid_queue_web/_12_dark_mode.css +34 -0
  16. data/app/assets/stylesheets/solid_queue_web/application.css +1 -617
  17. data/app/controllers/solid_queue_web/application_controller.rb +2 -0
  18. data/app/controllers/solid_queue_web/dashboard_controller.rb +28 -0
  19. data/app/controllers/solid_queue_web/failed_jobs_controller.rb +26 -22
  20. data/app/controllers/solid_queue_web/history_controller.rb +35 -0
  21. data/app/controllers/solid_queue_web/jobs_controller.rb +38 -23
  22. data/app/controllers/solid_queue_web/queues/jobs_controller.rb +1 -1
  23. data/app/controllers/solid_queue_web/queues_controller.rb +15 -0
  24. data/app/controllers/solid_queue_web/retry_failed_jobs_controller.rb +31 -0
  25. data/app/controllers/solid_queue_web/search_controller.rb +1 -3
  26. data/app/helpers/solid_queue_web/application_helper.rb +15 -1
  27. data/app/javascript/solid_queue_web/application.js +2 -0
  28. data/app/javascript/solid_queue_web/refresh_controller.js +3 -2
  29. data/app/javascript/solid_queue_web/theme_controller.js +26 -0
  30. data/app/views/layouts/solid_queue_web/application.html.erb +12 -7
  31. data/app/views/solid_queue_web/dashboard/index.html.erb +66 -6
  32. data/app/views/solid_queue_web/failed_jobs/index.html.erb +2 -1
  33. data/app/views/solid_queue_web/history/index.html.erb +73 -0
  34. data/app/views/solid_queue_web/jobs/index.html.erb +11 -8
  35. data/app/views/solid_queue_web/processes/index.html.erb +1 -1
  36. data/app/views/solid_queue_web/queues/index.html.erb +15 -1
  37. data/app/views/solid_queue_web/search/index.html.erb +2 -2
  38. data/config/importmap.rb +1 -0
  39. data/config/routes.rb +15 -12
  40. data/lib/solid_queue_web/engine.rb +4 -2
  41. data/lib/solid_queue_web/version.rb +1 -1
  42. data/lib/solid_queue_web.rb +22 -0
  43. metadata +31 -1
data/config/routes.rb CHANGED
@@ -1,16 +1,19 @@
1
1
  SolidQueueWeb::Engine.routes.draw do
2
2
  root to: "dashboard#index"
3
+ post "retry_all_failed", to: "dashboard#retry_all_failed", as: :retry_all_failed
4
+ post "discard_all_blocked", to: "dashboard#discard_all_blocked", as: :discard_all_blocked
3
5
 
4
6
  get "search", to: "search#index", as: :search
7
+ get "history", to: "history#index", as: :history
5
8
 
6
- resources :recurring_tasks, only: [ :index ]
7
- resources :processes, only: [ :index ]
8
- resources :queues, only: [ :index ], param: :name do
9
+ resources :recurring_tasks, only: [:index]
10
+ resources :processes, only: [:index]
11
+ resources :queues, only: [:index], param: :name do
9
12
  member do
10
13
  post :pause
11
14
  post :resume
12
15
  end
13
- resources :jobs, path: "list", only: [ :index, :destroy ], controller: "queues/jobs" do
16
+ resources :jobs, path: "list", only: [:index, :destroy], controller: "queues/jobs" do
14
17
  collection do
15
18
  post :discard_all
16
19
  end
@@ -19,22 +22,22 @@ SolidQueueWeb::Engine.routes.draw do
19
22
 
20
23
  # Singular selection resources must be defined before the member routes of their
21
24
  # parent resources, otherwise DELETE /list/selection matches /list/:id first.
22
- resource :job_selection, path: "list/selection", only: [ :destroy ], controller: "jobs/selections"
23
- resources :jobs, path: "list", only: [ :index, :show, :destroy ] do
25
+ resource :job_selection, path: "list/selection", only: [:destroy], controller: "jobs/selections"
26
+ resources :jobs, path: "list", only: [:index, :show, :destroy] do
24
27
  collection do
25
- post :discard_all
28
+ post :discard_all, action: :destroy
26
29
  end
27
30
  end
28
31
 
29
- resource :failed_job_selection, path: "failed_jobs/selection", only: [ :create, :destroy ],
32
+ resource :failed_job_selection, path: "failed_jobs/selection", only: [:create, :destroy],
30
33
  controller: "failed_jobs/selections"
31
- resources :failed_jobs, only: [ :index, :destroy ] do
34
+ resources :failed_jobs, only: [:index, :destroy] do
32
35
  collection do
33
- post :retry_all
34
- post :discard_all
36
+ post :retry_all, to: "retry_failed_jobs#create"
37
+ post :discard_all, action: :destroy
35
38
  end
36
39
  member do
37
- post :retry
40
+ post :retry, to: "retry_failed_jobs#create"
38
41
  end
39
42
  end
40
43
  end
@@ -22,8 +22,10 @@ module SolidQueueWeb
22
22
  end
23
23
  end
24
24
 
25
- initializer "solid_queue_web.pagy" do
26
- Pagy::OPTIONS[:limit] = 25
25
+ initializer "solid_queue_web.pagy" do |app|
26
+ app.config.after_initialize do
27
+ Pagy::OPTIONS[:limit] = SolidQueueWeb.page_size
28
+ end
27
29
  end
28
30
  end
29
31
  end
@@ -1,3 +1,3 @@
1
1
  module SolidQueueWeb
2
- VERSION = "0.6.0"
2
+ VERSION = "0.8.0"
3
3
  end
@@ -4,6 +4,28 @@ require "solid_queue_web/engine"
4
4
 
5
5
  module SolidQueueWeb
6
6
  class << self
7
+ attr_writer :page_size, :dashboard_refresh_interval, :default_refresh_interval, :search_results_limit
8
+
9
+ def page_size
10
+ @page_size || 25
11
+ end
12
+
13
+ def dashboard_refresh_interval
14
+ @dashboard_refresh_interval || 5_000
15
+ end
16
+
17
+ def default_refresh_interval
18
+ @default_refresh_interval || 10_000
19
+ end
20
+
21
+ def search_results_limit
22
+ @search_results_limit || 25
23
+ end
24
+
25
+ def configure
26
+ yield self
27
+ end
28
+
7
29
  def authenticate(&block)
8
30
  @authenticate = block if block_given?
9
31
  @authenticate
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solid_queue_web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chuck Smith
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: 8.1.3
26
+ - !ruby/object:Gem::Dependency
27
+ name: csv
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '3.0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '3.0'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: solid_queue
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -91,29 +105,45 @@ files:
91
105
  - MIT-LICENSE
92
106
  - README.md
93
107
  - Rakefile
108
+ - app/assets/stylesheets/solid_queue_web/_01_base.css
109
+ - app/assets/stylesheets/solid_queue_web/_02_layout.css
110
+ - app/assets/stylesheets/solid_queue_web/_03_stats.css
111
+ - app/assets/stylesheets/solid_queue_web/_04_table.css
112
+ - app/assets/stylesheets/solid_queue_web/_05_badges.css
113
+ - app/assets/stylesheets/solid_queue_web/_06_buttons.css
114
+ - app/assets/stylesheets/solid_queue_web/_07_forms.css
115
+ - app/assets/stylesheets/solid_queue_web/_08_detail.css
116
+ - app/assets/stylesheets/solid_queue_web/_09_pagination.css
117
+ - app/assets/stylesheets/solid_queue_web/_10_responsive.css
118
+ - app/assets/stylesheets/solid_queue_web/_11_throughput.css
119
+ - app/assets/stylesheets/solid_queue_web/_12_dark_mode.css
94
120
  - app/assets/stylesheets/solid_queue_web/application.css
95
121
  - app/controllers/solid_queue_web/application_controller.rb
96
122
  - app/controllers/solid_queue_web/dashboard_controller.rb
97
123
  - app/controllers/solid_queue_web/failed_jobs/selections_controller.rb
98
124
  - app/controllers/solid_queue_web/failed_jobs_controller.rb
125
+ - app/controllers/solid_queue_web/history_controller.rb
99
126
  - app/controllers/solid_queue_web/jobs/selections_controller.rb
100
127
  - app/controllers/solid_queue_web/jobs_controller.rb
101
128
  - app/controllers/solid_queue_web/processes_controller.rb
102
129
  - app/controllers/solid_queue_web/queues/jobs_controller.rb
103
130
  - app/controllers/solid_queue_web/queues_controller.rb
104
131
  - app/controllers/solid_queue_web/recurring_tasks_controller.rb
132
+ - app/controllers/solid_queue_web/retry_failed_jobs_controller.rb
105
133
  - app/controllers/solid_queue_web/search_controller.rb
106
134
  - app/helpers/solid_queue_web/application_helper.rb
107
135
  - app/javascript/solid_queue_web/application.js
108
136
  - app/javascript/solid_queue_web/refresh_controller.js
109
137
  - app/javascript/solid_queue_web/search_controller.js
110
138
  - app/javascript/solid_queue_web/selection_controller.js
139
+ - app/javascript/solid_queue_web/theme_controller.js
111
140
  - app/jobs/solid_queue_web/application_job.rb
112
141
  - app/models/solid_queue_web/application_record.rb
113
142
  - app/models/solid_queue_web/job.rb
114
143
  - app/views/layouts/solid_queue_web/application.html.erb
115
144
  - app/views/solid_queue_web/dashboard/index.html.erb
116
145
  - app/views/solid_queue_web/failed_jobs/index.html.erb
146
+ - app/views/solid_queue_web/history/index.html.erb
117
147
  - app/views/solid_queue_web/jobs/destroy.turbo_stream.erb
118
148
  - app/views/solid_queue_web/jobs/index.html.erb
119
149
  - app/views/solid_queue_web/jobs/show.html.erb