solid_queue_monitor 0.2.0 → 0.3.1
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 +4 -4
- data/README.md +25 -11
- data/Rakefile +8 -8
- data/app/controllers/solid_queue_monitor/application_controller.rb +25 -0
- data/app/controllers/solid_queue_monitor/base_controller.rb +70 -67
- data/app/controllers/solid_queue_monitor/failed_jobs_controller.rb +8 -7
- data/app/controllers/solid_queue_monitor/in_progress_jobs_controller.rb +16 -10
- data/app/controllers/solid_queue_monitor/overview_controller.rb +13 -12
- data/app/controllers/solid_queue_monitor/queues_controller.rb +4 -2
- data/app/controllers/solid_queue_monitor/ready_jobs_controller.rb +8 -7
- data/app/controllers/solid_queue_monitor/recurring_jobs_controller.rb +7 -6
- data/app/controllers/solid_queue_monitor/scheduled_jobs_controller.rb +8 -7
- data/app/presenters/solid_queue_monitor/base_presenter.rb +70 -53
- data/app/presenters/solid_queue_monitor/failed_jobs_presenter.rb +51 -41
- data/app/presenters/solid_queue_monitor/in_progress_jobs_presenter.rb +13 -2
- data/app/presenters/solid_queue_monitor/jobs_presenter.rb +18 -9
- data/app/presenters/solid_queue_monitor/queues_presenter.rb +5 -5
- data/app/presenters/solid_queue_monitor/ready_jobs_presenter.rb +10 -2
- data/app/presenters/solid_queue_monitor/recurring_jobs_presenter.rb +5 -2
- data/app/presenters/solid_queue_monitor/scheduled_jobs_presenter.rb +15 -9
- data/app/presenters/solid_queue_monitor/stats_presenter.rb +3 -1
- data/app/services/solid_queue_monitor/authentication_service.rb +7 -5
- data/app/services/solid_queue_monitor/execute_job_service.rb +3 -1
- data/app/services/solid_queue_monitor/failed_job_service.rb +38 -36
- data/app/services/solid_queue_monitor/html_generator.rb +5 -2
- data/app/services/solid_queue_monitor/pagination_service.rb +3 -1
- data/app/services/solid_queue_monitor/stats_calculator.rb +3 -1
- data/app/services/solid_queue_monitor/status_calculator.rb +4 -1
- data/app/services/solid_queue_monitor/stylesheet_generator.rb +68 -22
- data/config/initializers/solid_queue_monitor.rb +3 -1
- data/config/routes.rb +6 -4
- data/lib/generators/solid_queue_monitor/install_generator.rb +7 -5
- data/lib/generators/solid_queue_monitor/templates/initializer.rb +3 -1
- data/lib/solid_queue_monitor/engine.rb +5 -3
- data/lib/solid_queue_monitor/version.rb +2 -2
- data/lib/solid_queue_monitor.rb +9 -13
- data/lib/tasks/app.rake +42 -40
- metadata +9 -148
- data/app/controllers/solid_queue_monitor/monitor_controller.rb +0 -318
data/lib/tasks/app.rake
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
namespace :app do
|
2
|
-
desc
|
3
|
-
task :
|
4
|
+
desc 'Setup the dummy app for testing'
|
5
|
+
task setup: :environment do
|
4
6
|
require 'fileutils'
|
5
|
-
|
7
|
+
|
6
8
|
# Create dummy app directories
|
7
|
-
dummy_app_path = File.expand_path(
|
8
|
-
|
9
|
+
dummy_app_path = File.expand_path('../spec/dummy', __dir__)
|
10
|
+
|
9
11
|
# Ensure directories exist
|
10
12
|
%w[
|
11
13
|
app/controllers
|
@@ -19,19 +21,19 @@ namespace :app do
|
|
19
21
|
].each do |dir|
|
20
22
|
FileUtils.mkdir_p(File.join(dummy_app_path, dir))
|
21
23
|
end
|
22
|
-
|
24
|
+
|
23
25
|
# Create necessary files if they don't exist
|
24
|
-
unless File.exist?(File.join(dummy_app_path,
|
25
|
-
File.write(File.join(dummy_app_path,
|
26
|
+
unless File.exist?(File.join(dummy_app_path, 'config/boot.rb'))
|
27
|
+
File.write(File.join(dummy_app_path, 'config/boot.rb'), <<~RUBY)
|
26
28
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
|
27
29
|
require 'bundler/setup'
|
28
30
|
RUBY
|
29
31
|
end
|
30
|
-
|
31
|
-
unless File.exist?(File.join(dummy_app_path,
|
32
|
-
File.write(File.join(dummy_app_path,
|
32
|
+
|
33
|
+
unless File.exist?(File.join(dummy_app_path, 'config/application.rb'))
|
34
|
+
File.write(File.join(dummy_app_path, 'config/application.rb'), <<~RUBY)
|
33
35
|
require_relative "boot"
|
34
|
-
|
36
|
+
|
35
37
|
require "rails"
|
36
38
|
require "active_model/railtie"
|
37
39
|
require "active_record/railtie"
|
@@ -40,80 +42,80 @@ namespace :app do
|
|
40
42
|
require "rails/test_unit/railtie"
|
41
43
|
require "solid_queue"
|
42
44
|
require "solid_queue_monitor"
|
43
|
-
|
45
|
+
|
44
46
|
module Dummy
|
45
47
|
class Application < Rails::Application
|
46
48
|
config.load_defaults Rails::VERSION::STRING.to_f
|
47
|
-
|
49
|
+
#{' '}
|
48
50
|
# Settings in config/environments/* take precedence over those specified here.
|
49
51
|
# Application configuration can go into files in config/initializers
|
50
52
|
# -- all .rb files in that directory are automatically loaded after loading
|
51
53
|
# the framework and any gems in your application.
|
52
|
-
|
54
|
+
#{' '}
|
53
55
|
# Only loads a smaller set of middleware suitable for API only apps.
|
54
56
|
# Middleware like session, flash, cookies can be added back manually.
|
55
57
|
config.api_only = true
|
56
|
-
|
58
|
+
#{' '}
|
57
59
|
# Don't generate system test files.
|
58
60
|
config.generators.system_tests = nil
|
59
61
|
end
|
60
62
|
end
|
61
63
|
RUBY
|
62
64
|
end
|
63
|
-
|
64
|
-
unless File.exist?(File.join(dummy_app_path,
|
65
|
-
File.write(File.join(dummy_app_path,
|
65
|
+
|
66
|
+
unless File.exist?(File.join(dummy_app_path, 'config/environment.rb'))
|
67
|
+
File.write(File.join(dummy_app_path, 'config/environment.rb'), <<~RUBY)
|
66
68
|
# Load the Rails application.
|
67
69
|
require_relative 'application'
|
68
|
-
|
70
|
+
|
69
71
|
# Initialize the Rails application.
|
70
72
|
Rails.application.initialize!
|
71
73
|
RUBY
|
72
74
|
end
|
73
|
-
|
74
|
-
unless File.exist?(File.join(dummy_app_path,
|
75
|
-
File.write(File.join(dummy_app_path,
|
75
|
+
|
76
|
+
unless File.exist?(File.join(dummy_app_path, 'config/environments/test.rb'))
|
77
|
+
File.write(File.join(dummy_app_path, 'config/environments/test.rb'), <<~RUBY)
|
76
78
|
Rails.application.configure do
|
77
79
|
# Settings specified here will take precedence over those in config/application.rb.
|
78
|
-
|
80
|
+
|
79
81
|
# The test environment is used exclusively to run your application's
|
80
82
|
# test suite. You never need to work with it otherwise. Remember that
|
81
83
|
# your test database is "scratch space" for the test suite and is wiped
|
82
84
|
# and recreated between test runs. Don't rely on the data there!
|
83
85
|
config.cache_classes = true
|
84
|
-
|
86
|
+
|
85
87
|
# Do not eager load code on boot. This avoids loading your whole application
|
86
88
|
# just for the purpose of running a single test. If you are using a tool that
|
87
89
|
# preloads Rails for running tests, you may have to set it to true.
|
88
90
|
config.eager_load = false
|
89
|
-
|
91
|
+
|
90
92
|
# Configure public file server for tests with Cache-Control for performance.
|
91
93
|
config.public_file_server.enabled = true
|
92
94
|
config.public_file_server.headers = {
|
93
95
|
'Cache-Control' => "public, max-age=\#{1.hour.to_i}"
|
94
96
|
}
|
95
|
-
|
97
|
+
|
96
98
|
# Show full error reports and disable caching.
|
97
99
|
config.consider_all_requests_local = true
|
98
100
|
config.action_controller.perform_caching = false
|
99
|
-
|
101
|
+
|
100
102
|
# Raise exceptions instead of rendering exception templates.
|
101
103
|
config.action_dispatch.show_exceptions = false
|
102
|
-
|
104
|
+
|
103
105
|
# Disable request forgery protection in test environment.
|
104
106
|
config.action_controller.allow_forgery_protection = false
|
105
|
-
|
107
|
+
|
106
108
|
# Print deprecation notices to the stderr.
|
107
109
|
config.active_support.deprecation = :stderr
|
108
|
-
|
110
|
+
|
109
111
|
# Raises error for missing translations.
|
110
112
|
# config.action_view.raise_on_missing_translations = true
|
111
113
|
end
|
112
114
|
RUBY
|
113
115
|
end
|
114
|
-
|
115
|
-
unless File.exist?(File.join(dummy_app_path,
|
116
|
-
File.write(File.join(dummy_app_path,
|
116
|
+
|
117
|
+
unless File.exist?(File.join(dummy_app_path, 'config/database.yml'))
|
118
|
+
File.write(File.join(dummy_app_path, 'config/database.yml'), <<~YAML)
|
117
119
|
test:
|
118
120
|
adapter: sqlite3
|
119
121
|
database: ":memory:"
|
@@ -121,15 +123,15 @@ namespace :app do
|
|
121
123
|
timeout: 5000
|
122
124
|
YAML
|
123
125
|
end
|
124
|
-
|
125
|
-
unless File.exist?(File.join(dummy_app_path,
|
126
|
-
File.write(File.join(dummy_app_path,
|
126
|
+
|
127
|
+
unless File.exist?(File.join(dummy_app_path, 'config/routes.rb'))
|
128
|
+
File.write(File.join(dummy_app_path, 'config/routes.rb'), <<~RUBY)
|
127
129
|
Rails.application.routes.draw do
|
128
130
|
mount SolidQueueMonitor::Engine => "/solid_queue"
|
129
131
|
end
|
130
132
|
RUBY
|
131
133
|
end
|
132
|
-
|
133
|
-
puts
|
134
|
+
|
135
|
+
puts 'Dummy app setup complete!'
|
134
136
|
end
|
135
|
-
end
|
137
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solid_queue_monitor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vishal Sadriya
|
8
|
-
bindir:
|
8
|
+
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rails
|
@@ -15,14 +15,14 @@ dependencies:
|
|
15
15
|
requirements:
|
16
16
|
- - ">="
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '7.
|
18
|
+
version: '7.0'
|
19
19
|
type: :runtime
|
20
20
|
prerelease: false
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: '7.
|
25
|
+
version: '7.0'
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: solid_queue
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
@@ -37,146 +37,6 @@ dependencies:
|
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 0.1.0
|
40
|
-
- !ruby/object:Gem::Dependency
|
41
|
-
name: rspec-rails
|
42
|
-
requirement: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '6.0'
|
47
|
-
type: :development
|
48
|
-
prerelease: false
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '6.0'
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: capybara
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - "~>"
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '3.39'
|
61
|
-
type: :development
|
62
|
-
prerelease: false
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
64
|
-
requirements:
|
65
|
-
- - "~>"
|
66
|
-
- !ruby/object:Gem::Version
|
67
|
-
version: '3.39'
|
68
|
-
- !ruby/object:Gem::Dependency
|
69
|
-
name: sqlite3
|
70
|
-
requirement: !ruby/object:Gem::Requirement
|
71
|
-
requirements:
|
72
|
-
- - "~>"
|
73
|
-
- !ruby/object:Gem::Version
|
74
|
-
version: '1.6'
|
75
|
-
type: :development
|
76
|
-
prerelease: false
|
77
|
-
version_requirements: !ruby/object:Gem::Requirement
|
78
|
-
requirements:
|
79
|
-
- - "~>"
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '1.6'
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: puma
|
84
|
-
requirement: !ruby/object:Gem::Requirement
|
85
|
-
requirements:
|
86
|
-
- - "~>"
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '6.0'
|
89
|
-
type: :development
|
90
|
-
prerelease: false
|
91
|
-
version_requirements: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '6.0'
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: rubocop
|
98
|
-
requirement: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '1.60'
|
103
|
-
type: :development
|
104
|
-
prerelease: false
|
105
|
-
version_requirements: !ruby/object:Gem::Requirement
|
106
|
-
requirements:
|
107
|
-
- - "~>"
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '1.60'
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
name: rubocop-rails
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
113
|
-
requirements:
|
114
|
-
- - "~>"
|
115
|
-
- !ruby/object:Gem::Version
|
116
|
-
version: '2.23'
|
117
|
-
type: :development
|
118
|
-
prerelease: false
|
119
|
-
version_requirements: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - "~>"
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: '2.23'
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: rubocop-rspec
|
126
|
-
requirement: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - "~>"
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: '2.26'
|
131
|
-
type: :development
|
132
|
-
prerelease: false
|
133
|
-
version_requirements: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: '2.26'
|
138
|
-
- !ruby/object:Gem::Dependency
|
139
|
-
name: factory_bot_rails
|
140
|
-
requirement: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: '6.2'
|
145
|
-
type: :development
|
146
|
-
prerelease: false
|
147
|
-
version_requirements: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '6.2'
|
152
|
-
- !ruby/object:Gem::Dependency
|
153
|
-
name: database_cleaner-active_record
|
154
|
-
requirement: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '2.1'
|
159
|
-
type: :development
|
160
|
-
prerelease: false
|
161
|
-
version_requirements: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '2.1'
|
166
|
-
- !ruby/object:Gem::Dependency
|
167
|
-
name: pry
|
168
|
-
requirement: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - "~>"
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '0.14'
|
173
|
-
type: :development
|
174
|
-
prerelease: false
|
175
|
-
version_requirements: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - "~>"
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: '0.14'
|
180
40
|
description: A lightweight, zero-dependency web interface for monitoring Solid Queue
|
181
41
|
jobs in Rails applications
|
182
42
|
email:
|
@@ -187,10 +47,10 @@ extra_rdoc_files: []
|
|
187
47
|
files:
|
188
48
|
- README.md
|
189
49
|
- Rakefile
|
50
|
+
- app/controllers/solid_queue_monitor/application_controller.rb
|
190
51
|
- app/controllers/solid_queue_monitor/base_controller.rb
|
191
52
|
- app/controllers/solid_queue_monitor/failed_jobs_controller.rb
|
192
53
|
- app/controllers/solid_queue_monitor/in_progress_jobs_controller.rb
|
193
|
-
- app/controllers/solid_queue_monitor/monitor_controller.rb
|
194
54
|
- app/controllers/solid_queue_monitor/overview_controller.rb
|
195
55
|
- app/controllers/solid_queue_monitor/queues_controller.rb
|
196
56
|
- app/controllers/solid_queue_monitor/ready_jobs_controller.rb
|
@@ -230,6 +90,7 @@ metadata:
|
|
230
90
|
homepage_uri: https://github.com/vishaltps/solid_queue_monitor
|
231
91
|
source_code_uri: https://github.com/vishaltps/solid_queue_monitor
|
232
92
|
changelog_uri: https://github.com/vishaltps/solid_queue_monitor/blob/main/CHANGELOG.md
|
93
|
+
rubygems_mfa_required: 'true'
|
233
94
|
rdoc_options: []
|
234
95
|
require_paths:
|
235
96
|
- lib
|
@@ -237,14 +98,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
237
98
|
requirements:
|
238
99
|
- - ">="
|
239
100
|
- !ruby/object:Gem::Version
|
240
|
-
version: 3.
|
101
|
+
version: 3.0.0
|
241
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
242
103
|
requirements:
|
243
104
|
- - ">="
|
244
105
|
- !ruby/object:Gem::Version
|
245
106
|
version: '0'
|
246
107
|
requirements: []
|
247
|
-
rubygems_version: 3.6.
|
108
|
+
rubygems_version: 3.6.7
|
248
109
|
specification_version: 4
|
249
110
|
summary: Simple monitoring interface for Solid Queue
|
250
111
|
test_files: []
|