sidekiq_queue_manager 1.0.2 → 1.1.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 +122 -20
- data/app/assets/javascripts/sidekiq_queue_manager/application.js +859 -12
- data/app/assets/stylesheets/sidekiq_queue_manager/application.css +467 -7
- data/app/controllers/sidekiq_queue_manager/application_controller.rb +14 -5
- data/app/controllers/sidekiq_queue_manager/dashboard_controller.rb +202 -0
- data/app/services/sidekiq_queue_manager/queue_service.rb +485 -0
- data/app/views/sidekiq_queue_manager/dashboard/index.html.erb +287 -19
- data/config/routes.rb +21 -0
- data/lib/sidekiq_queue_manager/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eef3dc6b819cf03669fde2b5d5ccd75d7a1e298f1d3c1e5d81b8505ff80e417f
|
4
|
+
data.tar.gz: 2a8c6d262806309608cec3a67ab0a142377654fcbf179f2d82c5b6afc957cf57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 586476818da88f4add4f3ce87f9c6723117e1ae106fb5130febee6c3140759649e5d387f872af7708826753752f2db1d7b09dfa2d6878012a8035579b1b51593
|
7
|
+
data.tar.gz: c6e20b1619c17a975a5f98ecc727f8044037b1677493f51ee9840c32be3276a09f7b2ed9c07f5fd323a3e32b226be98ab00b434d38e70a62f96f0c135fd109b5
|
data/README.md
CHANGED
@@ -6,28 +6,35 @@
|
|
6
6
|
[](https://sidekiq.org)
|
7
7
|
[](LICENSE)
|
8
8
|
|
9
|
-
**
|
9
|
+
**Complete Sidekiq management suite with tabbed interface for queues, scheduled jobs, retries, and dead jobs.**
|
10
10
|
|
11
|
-
A modern, real-time web interface for
|
11
|
+
A modern, real-time web interface for comprehensive Sidekiq management with zero configuration required. Features match and extend the official Sidekiq Web UI with enhanced filtering, smart number formatting, and professional design. Perfect for production environments requiring full-featured job management capabilities.
|
12
12
|
|
13
13
|
---
|
14
14
|
|
15
15
|
## ✨ Features
|
16
16
|
|
17
|
-
### 🚀 **
|
17
|
+
### 🚀 **Complete Sidekiq Management Suite**
|
18
18
|
|
19
|
-
- **Live Statistics** - Real-time queue metrics with
|
19
|
+
- **Live Statistics** - Real-time queue metrics with smart number formatting (K, M, B, T)
|
20
20
|
- **Universal Queue Discovery** - Automatically detects ALL Sidekiq queues
|
21
|
-
- **
|
21
|
+
- **Tabbed Interface** - Organized views for Queues, Scheduled, Retries, and Dead jobs
|
22
|
+
- **Scheduled Jobs Management** - View, delete, enqueue, and bulk clear scheduled jobs
|
23
|
+
- **Retry Jobs Management** - Retry now, delete, kill, or bulk operations on failed jobs
|
24
|
+
- **Dead Jobs Management** - Resurrect, delete permanently, or bulk operations on dead jobs
|
22
25
|
- **Advanced Queue Controls** - Set limits, block queues, manage process limits
|
23
|
-
- **Job Management** - View, delete, and paginate through
|
26
|
+
- **Job Management** - View, delete, and paginate through jobs with filtering
|
24
27
|
|
25
28
|
### 🎨 **Professional Interface**
|
26
29
|
|
27
|
-
- **Modern UI
|
28
|
-
- **
|
29
|
-
- **
|
30
|
-
- **
|
30
|
+
- **Modern Tabbed UI** - Organized interface with Queues, Scheduled, Retries, and Dead job views
|
31
|
+
- **Smart Number Display** - Large numbers automatically formatted (92.9M, 1.2B, 5T) to prevent overflow
|
32
|
+
- **Dark-mode Optimized** - Beautiful responsive design that works on all screen sizes
|
33
|
+
- **Live Pull Toggle** - Enable/disable real-time updates with visual indicators
|
34
|
+
- **Custom Modal System** - Professional confirmations and prompts (no browser alerts)
|
35
|
+
- **Advanced Filtering** - Filter jobs by class name across all tabs
|
36
|
+
- **Pagination** - Efficient browsing through large job sets
|
37
|
+
- **Mobile Responsive** - Optimized layouts for desktop, tablet, and mobile
|
31
38
|
- **Accessibility Ready** - ARIA labels, keyboard navigation, screen reader support
|
32
39
|
|
33
40
|
### 🔒 **Enterprise Features**
|
@@ -149,10 +156,41 @@ end
|
|
149
156
|
|
150
157
|
The main dashboard provides:
|
151
158
|
|
152
|
-
- **Global Statistics** - Processed, failed, busy, and
|
153
|
-
- **
|
154
|
-
- **Live Controls** - Toggle real-time updates and manual refresh
|
155
|
-
- **
|
159
|
+
- **Enhanced Global Statistics** - Processed, failed, busy, enqueued, scheduled, retry, and dead job counts with smart formatting
|
160
|
+
- **Tabbed Interface** - Four main sections: Queues, Scheduled, Retries, and Dead jobs with real-time counts
|
161
|
+
- **Live Controls** - Toggle real-time updates and manual refresh with visual indicators
|
162
|
+
- **Advanced Filtering** - Filter jobs by class name across all tabs
|
163
|
+
- **Responsive Design** - Optimized layouts that prevent number overflow on all screen sizes
|
164
|
+
|
165
|
+
### Job Management by Type
|
166
|
+
|
167
|
+
#### 📅 Scheduled Jobs Tab
|
168
|
+
|
169
|
+
- **View Scheduled Jobs** - Browse future jobs with execution times and time remaining
|
170
|
+
- **Enqueue Now** - Execute scheduled jobs immediately
|
171
|
+
- **Delete Jobs** - Remove scheduled jobs before execution
|
172
|
+
- **Clear All** - Bulk delete all scheduled jobs (with optional filtering)
|
173
|
+
- **Pagination** - Navigate through large lists of scheduled jobs
|
174
|
+
- **Filtering** - Filter by job class name for easy searching
|
175
|
+
|
176
|
+
#### 🔄 Retries Tab
|
177
|
+
|
178
|
+
- **View Failed Jobs** - See jobs that failed and are awaiting retry
|
179
|
+
- **Retry Now** - Execute retry jobs immediately
|
180
|
+
- **Kill Jobs** - Move retry jobs to dead queue
|
181
|
+
- **Delete Jobs** - Permanently remove retry jobs
|
182
|
+
- **Retry All** - Bulk retry all failed jobs (with optional filtering)
|
183
|
+
- **Clear All** - Bulk delete all retry jobs (with optional filtering)
|
184
|
+
- **Progress Indicators** - Visual progress bars showing retry attempts vs limits
|
185
|
+
|
186
|
+
#### ☠️ Dead Jobs Tab
|
187
|
+
|
188
|
+
- **View Dead Jobs** - Browse jobs that have exhausted all retry attempts
|
189
|
+
- **Resurrect Jobs** - Move dead jobs back to retry queue
|
190
|
+
- **Delete Permanently** - Remove dead jobs forever
|
191
|
+
- **Resurrect All** - Bulk resurrect all dead jobs (with optional filtering)
|
192
|
+
- **Clear All** - Bulk delete all dead jobs permanently (with optional filtering)
|
193
|
+
- **Error Details** - View error messages and stack traces
|
156
194
|
|
157
195
|
### Queue Operations
|
158
196
|
|
@@ -210,6 +248,36 @@ POST /queues/pause_all # Pause all non-critical queues
|
|
210
248
|
POST /queues/resume_all # Resume all paused queues
|
211
249
|
```
|
212
250
|
|
251
|
+
### Scheduled Jobs Endpoints
|
252
|
+
|
253
|
+
```http
|
254
|
+
GET /scheduled # List scheduled jobs (paginated, filterable)
|
255
|
+
DELETE /scheduled/:id # Delete specific scheduled job
|
256
|
+
POST /scheduled/:id/enqueue # Enqueue scheduled job immediately
|
257
|
+
POST /scheduled/clear # Clear all scheduled jobs (with optional filter)
|
258
|
+
```
|
259
|
+
|
260
|
+
### Retry Jobs Endpoints
|
261
|
+
|
262
|
+
```http
|
263
|
+
GET /retries # List retry jobs (paginated, filterable)
|
264
|
+
POST /retries/:id/retry # Retry specific job immediately
|
265
|
+
DELETE /retries/:id # Delete specific retry job
|
266
|
+
POST /retries/:id/kill # Kill retry job (move to dead queue)
|
267
|
+
POST /retries/retry_all # Retry all jobs (with optional filter)
|
268
|
+
POST /retries/clear # Clear all retry jobs (with optional filter)
|
269
|
+
```
|
270
|
+
|
271
|
+
### Dead Jobs Endpoints
|
272
|
+
|
273
|
+
```http
|
274
|
+
GET /dead # List dead jobs (paginated, filterable)
|
275
|
+
POST /dead/:id/resurrect # Resurrect dead job to retry queue
|
276
|
+
DELETE /dead/:id # Delete dead job permanently
|
277
|
+
POST /dead/resurrect_all # Resurrect all dead jobs (with optional filter)
|
278
|
+
POST /dead/clear # Clear all dead jobs (with optional filter)
|
279
|
+
```
|
280
|
+
|
213
281
|
### Queue-Specific Endpoints
|
214
282
|
|
215
283
|
```http
|
@@ -314,12 +382,46 @@ The gem works out-of-the-box on Heroku with no additional configuration needed.
|
|
314
382
|
|
315
383
|
### Compatibility
|
316
384
|
|
317
|
-
- ✅ **Sidekiq
|
385
|
+
- ✅ **Sidekiq Web UI Feature Parity** - Matches and extends official Sidekiq Web functionality
|
386
|
+
- ✅ **Sidekiq Pro/Enterprise** - Full compatibility with all Sidekiq editions
|
318
387
|
- ✅ **Multi-process Sidekiq** - Advanced process management
|
319
|
-
- ✅ **Existing Sidekiq setups** - Zero breaking changes
|
320
|
-
- ✅ **All
|
321
|
-
- ✅ **Docker/Kubernetes** - Container-ready
|
322
|
-
- ✅ **Heroku/Cloud platforms** - Platform-agnostic
|
388
|
+
- ✅ **Existing Sidekiq setups** - Zero breaking changes, drop-in replacement
|
389
|
+
- ✅ **All job types** - Works with queued, scheduled, retry, and dead jobs
|
390
|
+
- ✅ **Docker/Kubernetes** - Container-ready with health checks
|
391
|
+
- ✅ **Heroku/Cloud platforms** - Platform-agnostic deployment
|
392
|
+
|
393
|
+
---
|
394
|
+
|
395
|
+
## 📝 Changelog
|
396
|
+
|
397
|
+
### Version 1.1.0 (Latest)
|
398
|
+
|
399
|
+
🎉 **Major Feature Release - Complete Sidekiq Management Suite**
|
400
|
+
|
401
|
+
**New Features:**
|
402
|
+
- ✨ **Tabbed Interface** - Organized views for Queues, Scheduled, Retries, and Dead jobs
|
403
|
+
- 📅 **Scheduled Jobs Management** - View, delete, enqueue immediately, and bulk operations
|
404
|
+
- 🔄 **Retry Jobs Management** - Retry now, delete, kill, and bulk operations with progress indicators
|
405
|
+
- ☠️ **Dead Jobs Management** - Resurrect, delete permanently, and bulk operations
|
406
|
+
- 📊 **Enhanced Statistics** - Added scheduled, retry, and dead job counts to main dashboard
|
407
|
+
- 🔢 **Smart Number Formatting** - Large numbers automatically formatted (92.9M, 1.2B, 5T) to prevent overflow
|
408
|
+
- 🔍 **Advanced Filtering** - Filter jobs by class name across all tabs
|
409
|
+
- 📄 **Pagination** - Efficient browsing through large job sets
|
410
|
+
- 💬 **Custom Modals** - Professional confirmation dialogs (no browser alerts)
|
411
|
+
|
412
|
+
**API Enhancements:**
|
413
|
+
- 🚀 **18 New REST Endpoints** - Complete API coverage for scheduled, retry, and dead jobs
|
414
|
+
- 📡 **Real-time Tab Counts** - Live updates for all job type counts
|
415
|
+
- 🎯 **Enhanced Error Handling** - Comprehensive error responses and validation
|
416
|
+
|
417
|
+
**UI/UX Improvements:**
|
418
|
+
- 📱 **Responsive Grid System** - Optimized 7-card stats layout that prevents overflow
|
419
|
+
- 🎨 **Enhanced Visual Design** - Progress bars, status indicators, and improved typography
|
420
|
+
- ⚡ **Performance Optimized** - Efficient loading and rendering of large job lists
|
421
|
+
|
422
|
+
**Backward Compatibility:**
|
423
|
+
- ✅ **Zero Breaking Changes** - All existing functionality preserved
|
424
|
+
- 🔄 **Seamless Upgrade** - Drop-in replacement for previous versions
|
323
425
|
|
324
426
|
---
|
325
427
|
|
@@ -373,4 +475,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
|
|
373
475
|
**Created and maintained by [Jamal Awad](https://github.com/jamalawd)**
|
374
476
|
*Ruby enthusiast, tech lead, & architect passionate about open-source development*
|
375
477
|
|
376
|
-
*Transform your Sidekiq
|
478
|
+
*Transform your Sidekiq experience with comprehensive job management - queues, scheduled jobs, retries, and dead jobs in one professional interface.*
|