sidekiq-status 3.0.3 → 4.0.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.
- checksums.yaml +4 -4
- data/.devcontainer/Dockerfile +2 -0
- data/.devcontainer/README.md +57 -0
- data/.devcontainer/devcontainer.json +55 -0
- data/.devcontainer/docker-compose.yml +19 -0
- data/.github/workflows/ci.yaml +9 -6
- data/Appraisals +14 -6
- data/CHANGELOG.md +12 -0
- data/Dockerfile +5 -0
- data/README.md +756 -41
- data/Rakefile +153 -0
- data/docker-compose.yml +15 -0
- data/gemfiles/{sidekiq_6.1.gemfile → sidekiq_7.0.gemfile} +1 -1
- data/gemfiles/sidekiq_7.3.gemfile +7 -0
- data/gemfiles/sidekiq_8.0.gemfile +7 -0
- data/gemfiles/{sidekiq_6.x.gemfile → sidekiq_8.x.gemfile} +1 -1
- data/lib/sidekiq-status/client_middleware.rb +4 -3
- data/lib/sidekiq-status/helpers.rb +94 -0
- data/lib/sidekiq-status/server_middleware.rb +6 -21
- data/lib/sidekiq-status/storage.rb +12 -3
- data/lib/sidekiq-status/version.rb +1 -1
- data/lib/sidekiq-status/web.rb +67 -93
- data/lib/sidekiq-status/worker.rb +6 -10
- data/lib/sidekiq-status.rb +21 -5
- data/sidekiq-status.gemspec +7 -1
- data/spec/environment.rb +12 -1
- data/spec/lib/sidekiq-status/client_middleware_spec.rb +8 -0
- data/spec/lib/sidekiq-status/server_middleware_spec.rb +13 -0
- data/spec/lib/sidekiq-status/web_spec.rb +72 -3
- data/spec/lib/sidekiq-status/worker_spec.rb +3 -3
- data/spec/lib/sidekiq-status_spec.rb +20 -3
- data/spec/spec_helper.rb +3 -8
- data/spec/support/test_jobs.rb +11 -0
- data/spec/test_environment.rb +1 -0
- data/web/assets/statuses.css +124 -0
- data/web/assets/statuses.js +24 -0
- data/web/views/status.erb +131 -93
- data/web/views/status_not_found.erb +1 -1
- data/web/views/statuses.erb +23 -79
- metadata +93 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 80a884daef6a9b89a0b45af82344c7f973b8c0b53c4eed92637da194db36525a
|
4
|
+
data.tar.gz: '035394a0390e4df3012c38bdf277fd4e1d8e0822b9730d4df02af203d7bb450a'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 181eead0c7518fde8f19a660177d2cdf76c16e8a264f13ea35e678f530118c9c963ebfdd11da2100ef73f4d8c68bc604129ac49a12000eae6276e1bdad9f0d23
|
7
|
+
data.tar.gz: ae46120dd4e6d41171ae3e86864e53d8d0d29a60006af1b2f544f0984baa04432a5e637562d5c1fd1073f0046e364db0561f1d26596f16d7d94d780d9ca448cb
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Sidekiq Status Devcontainer
|
2
|
+
|
3
|
+
This devcontainer provides a complete development environment for the sidekiq-status gem.
|
4
|
+
|
5
|
+
## What's Included
|
6
|
+
|
7
|
+
- **Ruby 3.4**: The same Ruby version used in the project's Dockerfile
|
8
|
+
- **Redis 7.4.0**: Required for Sidekiq job processing and testing
|
9
|
+
- **VS Code Extensions**:
|
10
|
+
- Ruby LSP for language support
|
11
|
+
- Endwise for Ruby code completion
|
12
|
+
- Docker support
|
13
|
+
- YAML and JSON support
|
14
|
+
- Code spell checker
|
15
|
+
|
16
|
+
## Getting Started
|
17
|
+
|
18
|
+
1. Make sure you have VS Code with the Dev Containers extension installed
|
19
|
+
2. Open this project in VS Code
|
20
|
+
3. When prompted, click "Reopen in Container" or use the command palette: `Dev Containers: Reopen in Container`
|
21
|
+
4. The container will build and install all dependencies automatically
|
22
|
+
|
23
|
+
## Development Workflow
|
24
|
+
|
25
|
+
Once the container is running:
|
26
|
+
|
27
|
+
```bash
|
28
|
+
# Run tests
|
29
|
+
bundle exec rake
|
30
|
+
|
31
|
+
# Run specific tests
|
32
|
+
bundle exec rspec spec/lib/sidekiq-status_spec.rb
|
33
|
+
|
34
|
+
# Start an interactive Ruby session
|
35
|
+
bundle exec irb
|
36
|
+
|
37
|
+
# Run tests with different Sidekiq versions (using Appraisal)
|
38
|
+
bundle exec appraisal sidekiq-6.x rspec
|
39
|
+
bundle exec appraisal sidekiq-7.x rspec
|
40
|
+
```
|
41
|
+
|
42
|
+
## Services
|
43
|
+
|
44
|
+
- **Redis**: Available on port 6379 (forwarded to host)
|
45
|
+
- **Application**: Ruby environment with all gems installed
|
46
|
+
|
47
|
+
## Environment Variables
|
48
|
+
|
49
|
+
- `REDIS_URL`: Automatically set to `redis://redis:6379` for testing
|
50
|
+
|
51
|
+
## Debugging
|
52
|
+
|
53
|
+
The devcontainer includes debugging support. You can set breakpoints in VS Code and use the Ruby debugger.
|
54
|
+
|
55
|
+
## Customization
|
56
|
+
|
57
|
+
You can modify the devcontainer configuration in `.devcontainer/` to add additional tools or change settings as needed.
|
@@ -0,0 +1,55 @@
|
|
1
|
+
{
|
2
|
+
"name": "Sidekiq Status Development",
|
3
|
+
"dockerComposeFile": "docker-compose.yml",
|
4
|
+
"service": "app",
|
5
|
+
"workspaceFolder": "/workspace",
|
6
|
+
|
7
|
+
"features": {
|
8
|
+
"ghcr.io/devcontainers/features/git:1": {},
|
9
|
+
"ghcr.io/devcontainers/features/github-cli:1": {}
|
10
|
+
},
|
11
|
+
|
12
|
+
"customizations": {
|
13
|
+
"vscode": {
|
14
|
+
"extensions": [
|
15
|
+
"Shopify.ruby-lsp",
|
16
|
+
"kaiwood.endwise",
|
17
|
+
"ms-vscode.vscode-json",
|
18
|
+
"redhat.vscode-yaml",
|
19
|
+
"ms-azuretools.vscode-docker",
|
20
|
+
"formulahendry.auto-rename-tag",
|
21
|
+
"streetsidesoftware.code-spell-checker"
|
22
|
+
],
|
23
|
+
"settings": {
|
24
|
+
"ruby.useLanguageServer": true,
|
25
|
+
"ruby.lint": {
|
26
|
+
"rubocop": {
|
27
|
+
"useBundler": true
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"ruby.format": "rubocop",
|
31
|
+
"files.associations": {
|
32
|
+
"*.rb": "ruby",
|
33
|
+
"Gemfile": "ruby",
|
34
|
+
"Rakefile": "ruby",
|
35
|
+
"*.gemspec": "ruby"
|
36
|
+
},
|
37
|
+
"emmet.includeLanguages": {
|
38
|
+
"erb": "html"
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
},
|
43
|
+
|
44
|
+
"forwardPorts": [6379],
|
45
|
+
"portsAttributes": {
|
46
|
+
"6379": {
|
47
|
+
"label": "Redis",
|
48
|
+
"onAutoForward": "ignore"
|
49
|
+
}
|
50
|
+
},
|
51
|
+
|
52
|
+
"postCreateCommand": "git config --global --add safe.directory /workspace && bundle install",
|
53
|
+
|
54
|
+
"remoteUser": "vscode"
|
55
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
services:
|
2
|
+
app:
|
3
|
+
build:
|
4
|
+
context: ..
|
5
|
+
dockerfile: .devcontainer/Dockerfile
|
6
|
+
volumes:
|
7
|
+
- ..:/workspace:cached
|
8
|
+
working_dir: /workspace
|
9
|
+
environment:
|
10
|
+
- REDIS_URL=redis://redis:6379
|
11
|
+
command: sleep infinity
|
12
|
+
depends_on:
|
13
|
+
- redis
|
14
|
+
|
15
|
+
redis:
|
16
|
+
image: redis:7.4.0
|
17
|
+
restart: unless-stopped
|
18
|
+
ports:
|
19
|
+
- "6379:6379"
|
data/.github/workflows/ci.yaml
CHANGED
@@ -28,20 +28,23 @@ jobs:
|
|
28
28
|
fail-fast: false
|
29
29
|
matrix:
|
30
30
|
ruby-version:
|
31
|
-
- '2.7'
|
32
|
-
- '3.0'
|
33
|
-
- '3.1'
|
34
31
|
- '3.2'
|
32
|
+
- '3.3'
|
33
|
+
- '3.4'
|
34
|
+
- 'head'
|
35
35
|
gemfile:
|
36
|
-
- 'gemfiles/
|
37
|
-
- 'gemfiles/
|
36
|
+
- 'gemfiles/sidekiq_7.0.gemfile'
|
37
|
+
- 'gemfiles/sidekiq_7.3.gemfile'
|
38
38
|
- 'gemfiles/sidekiq_7.x.gemfile'
|
39
|
+
- 'gemfiles/sidekiq_8.0.gemfile'
|
40
|
+
- 'gemfiles/sidekiq_8.x.gemfile'
|
41
|
+
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
|
39
42
|
|
40
43
|
env:
|
41
44
|
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}
|
42
45
|
|
43
46
|
steps:
|
44
|
-
- uses: actions/checkout@
|
47
|
+
- uses: actions/checkout@v5
|
45
48
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
46
49
|
uses: ruby/setup-ruby@v1
|
47
50
|
with:
|
data/Appraisals
CHANGED
@@ -1,11 +1,19 @@
|
|
1
|
-
appraise "sidekiq-
|
2
|
-
gem "sidekiq", "~>
|
1
|
+
appraise "sidekiq-7.0" do
|
2
|
+
gem "sidekiq", "~> 7.0.0"
|
3
3
|
end
|
4
4
|
|
5
|
-
appraise "sidekiq-
|
6
|
-
gem "sidekiq", "~>
|
5
|
+
appraise "sidekiq-7.3" do
|
6
|
+
gem "sidekiq", "~> 7.3.0"
|
7
7
|
end
|
8
8
|
|
9
|
-
appraise "sidekiq-
|
10
|
-
gem "sidekiq", "~>
|
9
|
+
appraise "sidekiq-7.x" do
|
10
|
+
gem "sidekiq", "~> 7"
|
11
|
+
end
|
12
|
+
|
13
|
+
appraise "sidekiq-8.0" do
|
14
|
+
gem "sidekiq", "~> 8.0.0"
|
15
|
+
end
|
16
|
+
|
17
|
+
appraise "sidekiq-8.x" do
|
18
|
+
gem "sidekiq", "~> 8"
|
11
19
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
**Version 4.0.0**
|
2
|
+
- Adds support for Ruby 3.3 and 3.4
|
3
|
+
- Adds support for Sidekiq 8.x
|
4
|
+
- Drops support for Sidekiq 6.x
|
5
|
+
- Drops support for Ruby versions that are now end-of-life (Ruby 2.7.x - Ruby 3.1.x)
|
6
|
+
- **BREAKING CHANGE**: Introduces breaking changes in job timestamp storage in Redis
|
7
|
+
- **BREAKING CHANGE**: Renames `#working_at` to `#updated_at`
|
8
|
+
- Major UI improvements with enhanced progress bars and better web interface styling
|
9
|
+
- Adds fallback routes for retry and delete buttons
|
10
|
+
- Adds a devcontainer to simplify development
|
11
|
+
- Improved elapsed time and ETA calculations
|
12
|
+
|
1
13
|
**Version 3.0.3**
|
2
14
|
- Fixes a Sidekiq warning about the deprecated `hmset` redis command (https://github.com/kenaniah/sidekiq-status/pull/37)
|
3
15
|
|