eco-helpers 3.1.3 → 3.1.4
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/CHANGELOG.md +13 -1
- data/eco-helpers.gemspec +1 -1
- data/lib/eco/api/session/batch/launcher/mode_size.rb +3 -2
- data/lib/eco/api/session/batch/launcher/retry.rb +3 -1
- data/lib/eco/api/session/batch/launcher.rb +10 -2
- data/lib/eco/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d90d0437d82cfb02acb981d200aaf20a67c18c1d33e19f1c81fe29c6ca7c9501
|
4
|
+
data.tar.gz: 7e9c99c233adcda692cbe3f0e31c154a2bdcc970dbfa4cd853ed64039c205431
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a3ccbbb86b403a5fcbe77dd13b34b6088edd238b08293ab5d55b254a6ff987abefd6b00bcb0fdfda2ea03bc256082107264ab80fec83a266144dd421bf322bc
|
7
|
+
data.tar.gz: 436360d8633631c039b1a8caeec9781bc68a79cdcfe7cb943e1edfb65f873f3a916a158a647bbc7871003338fddc7f9760edce6c6c6e59b3cba44c5095a555be
|
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
-
## [3.1.
|
5
|
+
## [3.1.5] - 2025-05-xx
|
6
6
|
|
7
7
|
### Added
|
8
8
|
|
@@ -10,6 +10,18 @@ All notable changes to this project will be documented in this file.
|
|
10
10
|
|
11
11
|
### Fixed
|
12
12
|
|
13
|
+
## [3.1.4] - 2025-05-15
|
14
|
+
|
15
|
+
### Changed
|
16
|
+
|
17
|
+
- upgraded `ecoportal-api` gem.
|
18
|
+
- `Eco::API::Session::Batch::Launcher`
|
19
|
+
- **Added** `#allowed_retries`: when in `:job` mode, it will NOT allow any re-tries.
|
20
|
+
- Renamed constant `TIMEOUT_RETRIES` to `ALLOWED_RETRIES` and **moved** to `Retry` module.
|
21
|
+
- ``Eco::API::Session::Batch::Launcher::ModeSize`
|
22
|
+
- **Increased** default Job max size to `500` (it was `100`).
|
23
|
+
- **Increased** default Job min size to `50` (it was `15`).
|
24
|
+
|
13
25
|
## [3.1.3] - 2025-05-14
|
14
26
|
|
15
27
|
### Changed
|
data/eco-helpers.gemspec
CHANGED
@@ -41,7 +41,7 @@ Gem::Specification.new do |spec|
|
|
41
41
|
spec.add_dependency 'bcrypt_pbkdf', '~> 1.0'
|
42
42
|
spec.add_dependency 'docx', '>= 0.8.0', '< 0.9'
|
43
43
|
spec.add_dependency 'dotenv', '~> 3'
|
44
|
-
spec.add_dependency 'ecoportal-api', '~> 0.10', '>= 0.10.
|
44
|
+
spec.add_dependency 'ecoportal-api', '~> 0.10', '>= 0.10.11'
|
45
45
|
spec.add_dependency 'ecoportal-api-graphql', '~> 1.1', '>= 1.1.1'
|
46
46
|
spec.add_dependency 'ecoportal-api-v2', '~> 3.1', '>= 3.1.1'
|
47
47
|
spec.add_dependency 'ed25519', '~> 1.2'
|
@@ -7,8 +7,8 @@ module Eco
|
|
7
7
|
include Eco::API::Session::Batch::Launcher::Options
|
8
8
|
|
9
9
|
DEFAULT_BATCH_SIZE = 50
|
10
|
-
DEFAULT_JOB_SIZE =
|
11
|
-
MIN_JOB_SIZE =
|
10
|
+
DEFAULT_JOB_SIZE = 500
|
11
|
+
MIN_JOB_SIZE = 50
|
12
12
|
|
13
13
|
def batch_size(opts = options)
|
14
14
|
return job_mode_size if job_mode?(opts)
|
@@ -19,6 +19,7 @@ module Eco
|
|
19
19
|
private
|
20
20
|
|
21
21
|
# Swaps to batch endpoint on specific errors
|
22
|
+
# @note it does it only once.
|
22
23
|
def batch_mode_on(
|
23
24
|
*error_types,
|
24
25
|
options: self.options,
|
@@ -4,6 +4,8 @@ module Eco
|
|
4
4
|
class Batch
|
5
5
|
module Launcher
|
6
6
|
module Retry
|
7
|
+
ALLOWED_RETRIES = 2 # 3 times (including first launch)
|
8
|
+
|
7
9
|
def self.included(base)
|
8
10
|
unless base <= Eco::API::Session::Batch::Launcher
|
9
11
|
msg = 'To be included only in Eco::API::Common::Session::BaseSession. '
|
@@ -16,7 +18,7 @@ module Eco
|
|
16
18
|
|
17
19
|
private
|
18
20
|
|
19
|
-
def offer_retry_on(*error_types, retries_left:
|
21
|
+
def offer_retry_on(*error_types, retries_left: ALLOWED_RETRIES, &block)
|
20
22
|
yield
|
21
23
|
rescue *error_types => err
|
22
24
|
raise err.class, err.message, cause: nil unless retries_left.positive?
|
@@ -28,7 +28,6 @@ module Eco
|
|
28
28
|
include StatusHandling
|
29
29
|
include Retry
|
30
30
|
|
31
|
-
TIMEOUT_RETRIES = 2
|
32
31
|
RETRY_ON = [
|
33
32
|
Ecoportal::API::Errors::TimeOut,
|
34
33
|
Ecoportal::API::Errors::StartTimeOut
|
@@ -58,6 +57,12 @@ module Eco
|
|
58
57
|
)
|
59
58
|
end
|
60
59
|
|
60
|
+
def allowed_retries(in_job_mode)
|
61
|
+
return 0 if in_job_mode
|
62
|
+
|
63
|
+
self.class::ALLOWED_RETRIES
|
64
|
+
end
|
65
|
+
|
61
66
|
def launch_batch( # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
62
67
|
data,
|
63
68
|
method:,
|
@@ -99,7 +104,10 @@ module Eco
|
|
99
104
|
|
100
105
|
start_slice = Time.now
|
101
106
|
|
102
|
-
offer_retry_on(
|
107
|
+
offer_retry_on(
|
108
|
+
*RETRY_ON,
|
109
|
+
retries_left: allowed_retries(as_job_mode)
|
110
|
+
) do
|
103
111
|
people_api.batch(job_mode: as_job_mode) do |batch|
|
104
112
|
slice.each do |person|
|
105
113
|
batch.public_send(method, person) do |response|
|
data/lib/eco/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eco-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Oscar Segura
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-05-
|
11
|
+
date: 2025-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|
@@ -243,7 +243,7 @@ dependencies:
|
|
243
243
|
version: '0.10'
|
244
244
|
- - ">="
|
245
245
|
- !ruby/object:Gem::Version
|
246
|
-
version: 0.10.
|
246
|
+
version: 0.10.11
|
247
247
|
type: :runtime
|
248
248
|
prerelease: false
|
249
249
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -253,7 +253,7 @@ dependencies:
|
|
253
253
|
version: '0.10'
|
254
254
|
- - ">="
|
255
255
|
- !ruby/object:Gem::Version
|
256
|
-
version: 0.10.
|
256
|
+
version: 0.10.11
|
257
257
|
- !ruby/object:Gem::Dependency
|
258
258
|
name: ecoportal-api-graphql
|
259
259
|
requirement: !ruby/object:Gem::Requirement
|