activejob-status 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Maintainability](https://api.codeclimate.com/v1/badges/a7b1ec1d3769e49021fd/maintainability)](https://codeclimate.com/github/inkstak/activejob-status/maintainability)
|
9
9
|
[![Test Coverage](https://api.codeclimate.com/v1/badges/a7b1ec1d3769e49021fd/test_coverage)](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: []
|