activejob-status 1.0.0 → 1.0.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 +4 -4
- data/LICENSE +1 -1
- data/README.md +63 -14
- data/lib/activejob-status/status.rb +3 -1
- data/lib/activejob-status/version.rb +1 -1
- data/lib/activejob-status.rb +1 -1
- metadata +5 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42019a7ba3be192f9ced4e1edf6498fb81e26a61ffdbce26a488c13518a08595
|
4
|
+
data.tar.gz: 8587b93b5aa1f16d77a7649efa3d9e4ef3c6cfe9c90642e37e1a662b20731397
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bc6ddddeb61c00b4f6ccfe2355b2c4d3f9409362bbd67637169b0ed3b31e2ffc1d33d4643370317f34089870d3e033cc1ad24b6275d45d1537e30893781a5b76
|
7
|
+
data.tar.gz: 828dad588548826ec64114ced09b8c2ba784429fe8fab1496520aa1042a90cadf80fa0a7fee4b7565b432c2602c4d9bab5e5d5c30962bce211e8416cf95943b2
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -8,6 +8,24 @@ Simple monitoring status for ActiveJob, independent of your queuing backend or c
|
|
8
8
|
[](https://codeclimate.com/github/inkstak/activejob-status/maintainability)
|
9
9
|
[](https://codeclimate.com/github/inkstak/activejob-status/test_coverage)
|
10
10
|
|
11
|
+
## Table of contents
|
12
|
+
|
13
|
+
- [Installation](#installation)
|
14
|
+
- [Dependencies](#dependencies)
|
15
|
+
- [Configuration](#configuration)
|
16
|
+
- [Cache Store](#cache-store)
|
17
|
+
- [Select data to store by default](#select-data-to-store-by-default)
|
18
|
+
- [Expiration time](#expiration-time)
|
19
|
+
- [Throttling](#throttling)
|
20
|
+
- [Usage](#usage)
|
21
|
+
- [Updating status](#updating-status)
|
22
|
+
- [Data stored by default](#data-stored-by-default)
|
23
|
+
- [Reading status](#reading-status)
|
24
|
+
- [Serializing status to JSON](#serializing-status-to-json)
|
25
|
+
- [Setting options per job](#setting-options-per-job)
|
26
|
+
- [ActiveJob::Status and exceptions](#activejobstatus-and-exceptions)
|
27
|
+
- [[Beta] Batches](#beta-batches)
|
28
|
+
|
11
29
|
## Installation
|
12
30
|
|
13
31
|
```bash
|
@@ -20,12 +38,9 @@ bundle add activejob-status
|
|
20
38
|
|
21
39
|
## Dependencies
|
22
40
|
|
23
|
-
|
24
|
-
|
25
|
-
* Version `1.x` requires `ActiveSupport >= 6.0`
|
26
|
-
|
27
|
-
If you're still using older Rails version, see [#24](https://github.com/inkstak/activejob-status/issues/24#issuecomment-1436046173).
|
41
|
+
ActiveJob::Status 1.x requires `ActiveSupport >= 6.0`
|
28
42
|
|
43
|
+
If you're still using an older version of Rails, see [v0.5.0](https://github.com/inkstak/activejob-status/releases/tag/v0.5.0).
|
29
44
|
|
30
45
|
## Configuration
|
31
46
|
|
@@ -327,7 +342,7 @@ class MyJob < ActiveJob::Base
|
|
327
342
|
end
|
328
343
|
```
|
329
344
|
|
330
|
-
|
345
|
+
### ActiveJob::Status and exceptions
|
331
346
|
|
332
347
|
Internally, ActiveJob::Status uses `ActiveSupport#rescue_from` to catch every `Exception` to apply the `failed` status
|
333
348
|
before throwing the exception again.
|
@@ -387,6 +402,40 @@ class MyJob < ApplicationJob
|
|
387
402
|
end
|
388
403
|
```
|
389
404
|
|
405
|
+
### [Beta] Batches
|
406
|
+
|
407
|
+
> **Warning** : The Batch API is available on [beta](https://github.com/inkstak/activejob-status/tree/beta):
|
408
|
+
>
|
409
|
+
> ```bash
|
410
|
+
> gem install activejob-status --pre
|
411
|
+
> # or
|
412
|
+
> bundle add activejob-status --version "~> 1.1.0.beta.0"
|
413
|
+
> ```
|
414
|
+
>
|
415
|
+
> It doesn't provide all features implemented by backends
|
416
|
+
> like [Sidekiq](https://github.com/sidekiq/sidekiq/wiki/Batches)
|
417
|
+
> or [GoodJob](https://github.com/bensheldon/good_job?tab=readme-ov-file#batches).
|
418
|
+
> Moreover, it wasn't designed to support batches with hundreds of jobs (or you might experience performanes issues).
|
419
|
+
>
|
420
|
+
|
421
|
+
ActiveJob::Status provides a naïve implementation of batches:
|
422
|
+
|
423
|
+
```ruby
|
424
|
+
job_1 = MyJob.perform_later
|
425
|
+
job_2 = MyJob.perform_later
|
426
|
+
|
427
|
+
batch = ActiveJob::Status::Batch.new([job_1, job_2])
|
428
|
+
batch.status # => "working"
|
429
|
+
```
|
430
|
+
|
431
|
+
The batch status is considered:
|
432
|
+
|
433
|
+
* `queued` if **all** of the jobs are `queued`
|
434
|
+
* `failed` if **one** of the jobs is `failed`
|
435
|
+
* `completed` if **all** of the jobs are `completed`
|
436
|
+
* `working` in all other circumstances
|
437
|
+
|
438
|
+
|
390
439
|
## Contributing
|
391
440
|
|
392
441
|
1. Don't hesitate to submit your feature/idea/fix in [issues](https://github.com/inkstak/activejob-status)
|
@@ -403,20 +452,20 @@ bundle exec rubocop
|
|
403
452
|
bundle exec standardrb
|
404
453
|
```
|
405
454
|
|
406
|
-
|
407
|
-
|
455
|
+
To run RSpec against various version of Rails dependencies:
|
408
456
|
```bash
|
409
|
-
bundle exec
|
457
|
+
bundle exec appraisal install
|
458
|
+
bundle exec appraisal rspec
|
410
459
|
```
|
411
460
|
|
412
|
-
|
461
|
+
All of them can be run with:
|
462
|
+
|
413
463
|
```bash
|
414
|
-
bundle exec
|
415
|
-
bundle exec appraisal
|
464
|
+
bundle exec rake
|
416
465
|
```
|
417
466
|
|
418
467
|
## License & credits
|
419
468
|
|
420
|
-
Please see [LICENSE](https://github.com/inkstak/
|
469
|
+
Please see [LICENSE](https://github.com/inkstak/activejob-status/blob/main/LICENSE) for further details.
|
421
470
|
|
422
|
-
Contributors: [./graphs/contributors](https://github.com/inkstak/
|
471
|
+
Contributors: [./graphs/contributors](https://github.com/inkstak/activejob-status/graphs/contributors)
|
data/lib/activejob-status.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activejob-status
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Savater Sebastien
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2024-04-18 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: activejob
|
@@ -156,14 +155,14 @@ dependencies:
|
|
156
155
|
requirements:
|
157
156
|
- - ">="
|
158
157
|
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
158
|
+
version: '1.0'
|
160
159
|
type: :development
|
161
160
|
prerelease: false
|
162
161
|
version_requirements: !ruby/object:Gem::Requirement
|
163
162
|
requirements:
|
164
163
|
- - ">="
|
165
164
|
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
165
|
+
version: '1.0'
|
167
166
|
- !ruby/object:Gem::Dependency
|
168
167
|
name: timecop
|
169
168
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,7 +177,6 @@ dependencies:
|
|
178
177
|
- - ">="
|
179
178
|
- !ruby/object:Gem::Version
|
180
179
|
version: '0'
|
181
|
-
description:
|
182
180
|
email: github.60k5k@simplelogin.co
|
183
181
|
executables: []
|
184
182
|
extensions: []
|
@@ -196,7 +194,6 @@ homepage: https://github.com/inkstak/activejob-status
|
|
196
194
|
licenses:
|
197
195
|
- MIT
|
198
196
|
metadata: {}
|
199
|
-
post_install_message:
|
200
197
|
rdoc_options: []
|
201
198
|
require_paths:
|
202
199
|
- lib
|
@@ -211,8 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
211
208
|
- !ruby/object:Gem::Version
|
212
209
|
version: '0'
|
213
210
|
requirements: []
|
214
|
-
rubygems_version: 3.
|
215
|
-
signing_key:
|
211
|
+
rubygems_version: 3.6.0.dev
|
216
212
|
specification_version: 4
|
217
213
|
summary: Monitor your jobs
|
218
214
|
test_files: []
|