request_queue_time 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c34dfaeafa5d35cbdaad24f12b6957c4561f1fe93e87485a8bab9cf2914c7650
4
- data.tar.gz: '018a31f583b994331da3068b220ebd86157b61968ac1a1785330b00ddf9722d0'
3
+ metadata.gz: 4bb68f050527a3d3495d85603548a8ae907f7c8b0c1cadbef92fb1ef1ce626a1
4
+ data.tar.gz: ad3486125db81b62bc0eda407dd9bb7ce3d3675439e80f67148b3d4f3d3871a9
5
5
  SHA512:
6
- metadata.gz: aeafaa0ec310ee0489b4d2556fee9aa13d0915a211d1df14f055ecc8447135c992919d25597ddc28809da52f9d0c2dee2702c6ca112b2fdaa10c261714e673dc
7
- data.tar.gz: 535e007a068451606adae13687e01bab8018f77cb1a30ac955a7618c6ebe7150e363c1810046972f6ff96057558b06632349604dab8f99891e2f1d6b5f44d2a3
6
+ metadata.gz: 94bc2151ab861746f18247911cd1df834bdf6975ab9fe789916abd865aec6f08232a5f624e278d2a73f5eb9065cf5dd5d12d076e0d32ac1e68c60a633fcdbd8d
7
+ data.tar.gz: 5df7a649ede8eacf8182650cc632c0f3492e7f0e85e1628737ccbe74bef8f1646c7c5614c2131614bab8fe2da21ba41659c956f8951ba9b419d9cc6e01522e42
@@ -0,0 +1,19 @@
1
+ steps:
2
+ - label: ":rspec: Ruby 4.0.5"
3
+ agents:
4
+ queue: "hetzner"
5
+ plugins:
6
+ - docker#v5.3.0:
7
+ image: "public.ecr.aws/docker/library/ruby:4.0.5"
8
+ workdir: /app
9
+ volumes:
10
+ - ".:/app"
11
+ command:
12
+ - /bin/bash
13
+ - -e
14
+ - -c
15
+ - |
16
+ echo "--- :bundler: bundle install"
17
+ bundle install
18
+ echo "--- :rspec: bundle exec rake"
19
+ bundle exec rake
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.6
1
+ 4.0.5
data/Gemfile.lock CHANGED
@@ -1,273 +1,311 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- request_queue_time (0.2.0)
4
+ request_queue_time (0.3.0)
5
5
  aws-sdk-cloudwatch
6
6
  dogstatsd-ruby
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- actioncable (7.1.3.3)
12
- actionpack (= 7.1.3.3)
13
- activesupport (= 7.1.3.3)
11
+ action_text-trix (2.1.19)
12
+ railties
13
+ actioncable (8.1.3)
14
+ actionpack (= 8.1.3)
15
+ activesupport (= 8.1.3)
14
16
  nio4r (~> 2.0)
15
17
  websocket-driver (>= 0.6.1)
16
18
  zeitwerk (~> 2.6)
17
- actionmailbox (7.1.3.3)
18
- actionpack (= 7.1.3.3)
19
- activejob (= 7.1.3.3)
20
- activerecord (= 7.1.3.3)
21
- activestorage (= 7.1.3.3)
22
- activesupport (= 7.1.3.3)
23
- mail (>= 2.7.1)
24
- net-imap
25
- net-pop
26
- net-smtp
27
- actionmailer (7.1.3.3)
28
- actionpack (= 7.1.3.3)
29
- actionview (= 7.1.3.3)
30
- activejob (= 7.1.3.3)
31
- activesupport (= 7.1.3.3)
32
- mail (~> 2.5, >= 2.5.4)
33
- net-imap
34
- net-pop
35
- net-smtp
19
+ actionmailbox (8.1.3)
20
+ actionpack (= 8.1.3)
21
+ activejob (= 8.1.3)
22
+ activerecord (= 8.1.3)
23
+ activestorage (= 8.1.3)
24
+ activesupport (= 8.1.3)
25
+ mail (>= 2.8.0)
26
+ actionmailer (8.1.3)
27
+ actionpack (= 8.1.3)
28
+ actionview (= 8.1.3)
29
+ activejob (= 8.1.3)
30
+ activesupport (= 8.1.3)
31
+ mail (>= 2.8.0)
36
32
  rails-dom-testing (~> 2.2)
37
- actionpack (7.1.3.3)
38
- actionview (= 7.1.3.3)
39
- activesupport (= 7.1.3.3)
33
+ actionpack (8.1.3)
34
+ actionview (= 8.1.3)
35
+ activesupport (= 8.1.3)
40
36
  nokogiri (>= 1.8.5)
41
- racc
42
37
  rack (>= 2.2.4)
43
38
  rack-session (>= 1.0.1)
44
39
  rack-test (>= 0.6.3)
45
40
  rails-dom-testing (~> 2.2)
46
41
  rails-html-sanitizer (~> 1.6)
47
- actiontext (7.1.3.3)
48
- actionpack (= 7.1.3.3)
49
- activerecord (= 7.1.3.3)
50
- activestorage (= 7.1.3.3)
51
- activesupport (= 7.1.3.3)
42
+ useragent (~> 0.16)
43
+ actiontext (8.1.3)
44
+ action_text-trix (~> 2.1.15)
45
+ actionpack (= 8.1.3)
46
+ activerecord (= 8.1.3)
47
+ activestorage (= 8.1.3)
48
+ activesupport (= 8.1.3)
52
49
  globalid (>= 0.6.0)
53
50
  nokogiri (>= 1.8.5)
54
- actionview (7.1.3.3)
55
- activesupport (= 7.1.3.3)
51
+ actionview (8.1.3)
52
+ activesupport (= 8.1.3)
56
53
  builder (~> 3.1)
57
54
  erubi (~> 1.11)
58
55
  rails-dom-testing (~> 2.2)
59
56
  rails-html-sanitizer (~> 1.6)
60
- activejob (7.1.3.3)
61
- activesupport (= 7.1.3.3)
57
+ activejob (8.1.3)
58
+ activesupport (= 8.1.3)
62
59
  globalid (>= 0.3.6)
63
- activemodel (7.1.3.3)
64
- activesupport (= 7.1.3.3)
65
- activerecord (7.1.3.3)
66
- activemodel (= 7.1.3.3)
67
- activesupport (= 7.1.3.3)
60
+ activemodel (8.1.3)
61
+ activesupport (= 8.1.3)
62
+ activerecord (8.1.3)
63
+ activemodel (= 8.1.3)
64
+ activesupport (= 8.1.3)
68
65
  timeout (>= 0.4.0)
69
- activestorage (7.1.3.3)
70
- actionpack (= 7.1.3.3)
71
- activejob (= 7.1.3.3)
72
- activerecord (= 7.1.3.3)
73
- activesupport (= 7.1.3.3)
66
+ activestorage (8.1.3)
67
+ actionpack (= 8.1.3)
68
+ activejob (= 8.1.3)
69
+ activerecord (= 8.1.3)
70
+ activesupport (= 8.1.3)
74
71
  marcel (~> 1.0)
75
- activesupport (7.1.3.3)
72
+ activesupport (8.1.3)
76
73
  base64
77
74
  bigdecimal
78
- concurrent-ruby (~> 1.0, >= 1.0.2)
75
+ concurrent-ruby (~> 1.0, >= 1.3.1)
79
76
  connection_pool (>= 2.2.5)
80
77
  drb
81
78
  i18n (>= 1.6, < 2)
79
+ json
80
+ logger (>= 1.4.2)
82
81
  minitest (>= 5.1)
83
- mutex_m
84
- tzinfo (~> 2.0)
85
- ast (2.4.2)
86
- aws-eventstream (1.3.0)
87
- aws-partitions (1.937.0)
88
- aws-sdk-cloudwatch (1.91.0)
89
- aws-sdk-core (~> 3, >= 3.193.0)
90
- aws-sigv4 (~> 1.1)
91
- aws-sdk-core (3.196.1)
82
+ securerandom (>= 0.3)
83
+ tzinfo (~> 2.0, >= 2.0.5)
84
+ uri (>= 0.13.1)
85
+ ast (2.4.3)
86
+ aws-eventstream (1.4.0)
87
+ aws-partitions (1.1261.0)
88
+ aws-sdk-cloudwatch (1.140.0)
89
+ aws-sdk-core (~> 3, >= 3.248.0)
90
+ aws-sigv4 (~> 1.5)
91
+ aws-sdk-core (3.252.0)
92
92
  aws-eventstream (~> 1, >= 1.3.0)
93
- aws-partitions (~> 1, >= 1.651.0)
94
- aws-sigv4 (~> 1.8)
93
+ aws-partitions (~> 1, >= 1.992.0)
94
+ aws-sigv4 (~> 1.9)
95
+ base64
96
+ bigdecimal
95
97
  jmespath (~> 1, >= 1.6.1)
96
- aws-sigv4 (1.8.0)
98
+ logger
99
+ aws-sigv4 (1.12.1)
97
100
  aws-eventstream (~> 1, >= 1.0.2)
98
- base64 (0.2.0)
99
- bigdecimal (3.1.8)
100
- builder (3.2.4)
101
- concurrent-ruby (1.3.1)
102
- connection_pool (2.4.1)
101
+ base64 (0.3.0)
102
+ bigdecimal (4.1.2)
103
+ builder (3.3.0)
104
+ concurrent-ruby (1.3.7)
105
+ connection_pool (3.0.2)
103
106
  crass (1.0.6)
104
- date (3.3.4)
105
- diff-lcs (1.5.1)
106
- dogstatsd-ruby (5.6.1)
107
- dotenv (3.1.2)
108
- drb (2.2.1)
109
- erubi (1.12.0)
110
- globalid (1.2.1)
107
+ date (3.5.1)
108
+ diff-lcs (1.6.2)
109
+ dogstatsd-ruby (5.7.1)
110
+ dotenv (3.2.0)
111
+ drb (2.2.3)
112
+ erb (6.0.4)
113
+ erubi (1.13.1)
114
+ globalid (1.3.0)
111
115
  activesupport (>= 6.1)
112
- i18n (1.14.5)
116
+ i18n (1.15.2)
113
117
  concurrent-ruby (~> 1.0)
114
- io-console (0.7.2)
115
- irb (1.13.1)
118
+ io-console (0.8.2)
119
+ irb (1.18.0)
120
+ pp (>= 0.6.0)
121
+ prism (>= 1.3.0)
116
122
  rdoc (>= 4.0.0)
117
123
  reline (>= 0.4.2)
118
124
  jmespath (1.6.2)
119
- json (2.7.2)
120
- language_server-protocol (3.17.0.3)
125
+ json (2.19.9)
126
+ language_server-protocol (3.17.0.5)
121
127
  lint_roller (1.1.0)
122
- loofah (2.22.0)
128
+ logger (1.7.0)
129
+ loofah (2.25.1)
123
130
  crass (~> 1.0.2)
124
131
  nokogiri (>= 1.12.0)
125
- mail (2.8.1)
132
+ mail (2.9.0)
133
+ logger
126
134
  mini_mime (>= 0.1.1)
127
135
  net-imap
128
136
  net-pop
129
137
  net-smtp
130
- marcel (1.0.4)
138
+ marcel (1.2.1)
131
139
  mini_mime (1.1.5)
132
- minitest (5.23.1)
133
- mutex_m (0.2.0)
134
- net-imap (0.4.11)
140
+ minitest (6.0.6)
141
+ drb (~> 2.0)
142
+ prism (~> 1.5)
143
+ net-imap (0.6.4.1)
135
144
  date
136
145
  net-protocol
137
146
  net-pop (0.1.2)
138
147
  net-protocol
139
148
  net-protocol (0.2.2)
140
149
  timeout
141
- net-smtp (0.5.0)
150
+ net-smtp (0.5.1)
142
151
  net-protocol
143
- nio4r (2.7.3)
144
- nokogiri (1.16.5-arm64-darwin)
152
+ nio4r (2.7.5)
153
+ nokogiri (1.19.4-aarch64-linux-gnu)
154
+ racc (~> 1.4)
155
+ nokogiri (1.19.4-aarch64-linux-musl)
156
+ racc (~> 1.4)
157
+ nokogiri (1.19.4-arm-linux-gnu)
145
158
  racc (~> 1.4)
146
- nokogiri (1.16.5-x86_64-linux)
159
+ nokogiri (1.19.4-arm-linux-musl)
147
160
  racc (~> 1.4)
148
- parallel (1.24.0)
149
- parser (3.3.0.5)
161
+ nokogiri (1.19.4-arm64-darwin)
162
+ racc (~> 1.4)
163
+ nokogiri (1.19.4-x86_64-darwin)
164
+ racc (~> 1.4)
165
+ nokogiri (1.19.4-x86_64-linux-gnu)
166
+ racc (~> 1.4)
167
+ nokogiri (1.19.4-x86_64-linux-musl)
168
+ racc (~> 1.4)
169
+ parallel (2.1.0)
170
+ parser (3.3.11.1)
150
171
  ast (~> 2.4.1)
151
172
  racc
152
- psych (5.1.2)
173
+ pp (0.6.4)
174
+ prettyprint
175
+ prettyprint (0.2.0)
176
+ prism (1.9.0)
177
+ psych (5.4.0)
178
+ date
153
179
  stringio
154
- racc (1.7.3)
155
- rack (3.0.11)
156
- rack-session (2.0.0)
180
+ racc (1.8.1)
181
+ rack (3.2.6)
182
+ rack-session (2.1.2)
183
+ base64 (>= 0.1.0)
157
184
  rack (>= 3.0.0)
158
- rack-test (2.1.0)
185
+ rack-test (2.2.0)
159
186
  rack (>= 1.3)
160
- rackup (2.1.0)
187
+ rackup (2.3.1)
161
188
  rack (>= 3)
162
- webrick (~> 1.8)
163
- rails (7.1.3.3)
164
- actioncable (= 7.1.3.3)
165
- actionmailbox (= 7.1.3.3)
166
- actionmailer (= 7.1.3.3)
167
- actionpack (= 7.1.3.3)
168
- actiontext (= 7.1.3.3)
169
- actionview (= 7.1.3.3)
170
- activejob (= 7.1.3.3)
171
- activemodel (= 7.1.3.3)
172
- activerecord (= 7.1.3.3)
173
- activestorage (= 7.1.3.3)
174
- activesupport (= 7.1.3.3)
189
+ rails (8.1.3)
190
+ actioncable (= 8.1.3)
191
+ actionmailbox (= 8.1.3)
192
+ actionmailer (= 8.1.3)
193
+ actionpack (= 8.1.3)
194
+ actiontext (= 8.1.3)
195
+ actionview (= 8.1.3)
196
+ activejob (= 8.1.3)
197
+ activemodel (= 8.1.3)
198
+ activerecord (= 8.1.3)
199
+ activestorage (= 8.1.3)
200
+ activesupport (= 8.1.3)
175
201
  bundler (>= 1.15.0)
176
- railties (= 7.1.3.3)
177
- rails-dom-testing (2.2.0)
202
+ railties (= 8.1.3)
203
+ rails-dom-testing (2.3.0)
178
204
  activesupport (>= 5.0.0)
179
205
  minitest
180
206
  nokogiri (>= 1.6)
181
- rails-html-sanitizer (1.6.0)
182
- loofah (~> 2.21)
183
- nokogiri (~> 1.14)
184
- railties (7.1.3.3)
185
- actionpack (= 7.1.3.3)
186
- activesupport (= 7.1.3.3)
187
- irb
207
+ rails-html-sanitizer (1.7.0)
208
+ loofah (~> 2.25)
209
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
210
+ railties (8.1.3)
211
+ actionpack (= 8.1.3)
212
+ activesupport (= 8.1.3)
213
+ irb (~> 1.13)
188
214
  rackup (>= 1.0.0)
189
215
  rake (>= 12.2)
190
216
  thor (~> 1.0, >= 1.2.2)
217
+ tsort (>= 0.2)
191
218
  zeitwerk (~> 2.6)
192
219
  rainbow (3.1.1)
193
- rake (13.2.1)
194
- rdoc (6.7.0)
220
+ rake (13.4.2)
221
+ rdoc (7.2.0)
222
+ erb
195
223
  psych (>= 4.0.0)
196
- redis-client (0.22.2)
224
+ tsort
225
+ redis-client (0.30.0)
197
226
  connection_pool
198
- regexp_parser (2.9.0)
199
- reline (0.5.8)
227
+ regexp_parser (2.12.0)
228
+ reline (0.6.3)
200
229
  io-console (~> 0.5)
201
- rexml (3.2.8)
202
- strscan (>= 3.0.9)
203
- rspec (3.13.0)
230
+ rspec (3.13.2)
204
231
  rspec-core (~> 3.13.0)
205
232
  rspec-expectations (~> 3.13.0)
206
233
  rspec-mocks (~> 3.13.0)
207
- rspec-core (3.13.0)
234
+ rspec-core (3.13.6)
208
235
  rspec-support (~> 3.13.0)
209
- rspec-expectations (3.13.0)
236
+ rspec-expectations (3.13.5)
210
237
  diff-lcs (>= 1.2.0, < 2.0)
211
238
  rspec-support (~> 3.13.0)
212
- rspec-mocks (3.13.0)
239
+ rspec-mocks (3.13.8)
213
240
  diff-lcs (>= 1.2.0, < 2.0)
214
241
  rspec-support (~> 3.13.0)
215
- rspec-support (3.13.1)
216
- rubocop (1.62.1)
242
+ rspec-support (3.13.7)
243
+ rubocop (1.87.0)
217
244
  json (~> 2.3)
218
- language_server-protocol (>= 3.17.0)
219
- parallel (~> 1.10)
245
+ language_server-protocol (~> 3.17.0.2)
246
+ lint_roller (~> 1.1.0)
247
+ parallel (>= 1.10)
220
248
  parser (>= 3.3.0.2)
221
249
  rainbow (>= 2.2.2, < 4.0)
222
- regexp_parser (>= 1.8, < 3.0)
223
- rexml (>= 3.2.5, < 4.0)
224
- rubocop-ast (>= 1.31.1, < 2.0)
250
+ regexp_parser (>= 2.9.3, < 3.0)
251
+ rubocop-ast (>= 1.49.0, < 2.0)
225
252
  ruby-progressbar (~> 1.7)
226
- unicode-display_width (>= 2.4.0, < 3.0)
227
- rubocop-ast (1.31.2)
228
- parser (>= 3.3.0.4)
229
- rubocop-performance (1.20.2)
230
- rubocop (>= 1.48.1, < 2.0)
231
- rubocop-ast (>= 1.30.0, < 2.0)
253
+ unicode-display_width (>= 2.4.0, < 4.0)
254
+ rubocop-ast (1.49.1)
255
+ parser (>= 3.3.7.2)
256
+ prism (~> 1.7)
257
+ rubocop-performance (1.26.1)
258
+ lint_roller (~> 1.1)
259
+ rubocop (>= 1.75.0, < 2.0)
260
+ rubocop-ast (>= 1.47.1, < 2.0)
232
261
  ruby-progressbar (1.13.0)
233
- sidekiq (7.2.4)
234
- concurrent-ruby (< 2)
235
- connection_pool (>= 2.3.0)
236
- rack (>= 2.2.4)
237
- redis-client (>= 0.19.0)
238
- standard (1.35.1)
262
+ securerandom (0.4.1)
263
+ sidekiq (8.1.6)
264
+ connection_pool (>= 3.0.0)
265
+ json (>= 2.16.0)
266
+ logger (>= 1.7.0)
267
+ rack (>= 3.2.0)
268
+ redis-client (>= 0.29.0)
269
+ standard (1.55.0)
239
270
  language_server-protocol (~> 3.17.0.2)
240
271
  lint_roller (~> 1.0)
241
- rubocop (~> 1.62.0)
272
+ rubocop (~> 1.87.0)
242
273
  standard-custom (~> 1.0.0)
243
- standard-performance (~> 1.3)
274
+ standard-performance (~> 1.8)
244
275
  standard-custom (1.0.2)
245
276
  lint_roller (~> 1.0)
246
277
  rubocop (~> 1.50)
247
- standard-performance (1.3.1)
278
+ standard-performance (1.9.0)
248
279
  lint_roller (~> 1.1)
249
- rubocop-performance (~> 1.20.2)
250
- stringio (3.1.0)
251
- strscan (3.1.0)
252
- thor (1.3.1)
253
- timeout (0.4.1)
280
+ rubocop-performance (~> 1.26.0)
281
+ stringio (3.2.0)
282
+ thor (1.5.0)
283
+ timeout (0.6.1)
284
+ tsort (0.2.0)
254
285
  tzinfo (2.0.6)
255
286
  concurrent-ruby (~> 1.0)
256
- unicode-display_width (2.5.0)
257
- webrick (1.8.1)
258
- websocket-driver (0.7.6)
287
+ unicode-display_width (3.2.0)
288
+ unicode-emoji (~> 4.1)
289
+ unicode-emoji (4.2.0)
290
+ uri (1.1.1)
291
+ useragent (0.16.11)
292
+ websocket-driver (0.8.1)
293
+ base64
259
294
  websocket-extensions (>= 0.1.0)
260
295
  websocket-extensions (0.1.5)
261
- zeitwerk (2.6.15)
296
+ zeitwerk (2.8.2)
262
297
 
263
298
  PLATFORMS
264
- arm64-darwin-22
265
- arm64-darwin-23
266
- arm64-darwin-24
267
- x86_64-linux
299
+ aarch64-linux-gnu
300
+ aarch64-linux-musl
301
+ arm-linux-gnu
302
+ arm-linux-musl
303
+ arm64-darwin
304
+ x86_64-darwin
305
+ x86_64-linux-gnu
306
+ x86_64-linux-musl
268
307
 
269
308
  DEPENDENCIES
270
- bundler (~> 2.4)
271
309
  dotenv
272
310
  rails
273
311
  rake (~> 13.0)
@@ -276,5 +314,114 @@ DEPENDENCIES
276
314
  sidekiq
277
315
  standard (~> 1.3)
278
316
 
317
+ CHECKSUMS
318
+ action_text-trix (2.1.19) sha256=7012f59421009cf284aa651294896414d653a61a2417c9b8714c8476d2f74009
319
+ actioncable (8.1.3) sha256=e5bc7f75e44e6a22de29c4f43176927c3a9ce4824464b74ed18d8226e75a80f0
320
+ actionmailbox (8.1.3) sha256=df7da474eaa0e70df4ed5a6fef66eb3b3b0f2dbf7f14518deee8d77f1b4aae59
321
+ actionmailer (8.1.3) sha256=831f724891bb70d0aaa4d76581a6321124b6a752cb655c9346aae5479318448d
322
+ actionpack (8.1.3) sha256=af998cae4d47c5d581a2cc363b5c77eb718b7c4b45748d81b1887b25621c29a3
323
+ actiontext (8.1.3) sha256=d291019c00e1ea9e6463011fa214f6081a56d7b9a1d224e7d3f6384c1dafc7d2
324
+ actionview (8.1.3) sha256=1347c88c7f3edb38100c5ce0e9fb5e62d7755f3edc1b61cce2eb0b2c6ea2fd5d
325
+ activejob (8.1.3) sha256=a149b1766aa8204c3c3da7309e4becd40fcd5529c348cffbf6c9b16b565fe8d3
326
+ activemodel (8.1.3) sha256=90c05cbe4cef3649b8f79f13016191ea94c4525ce4a5c0fb7ef909c4b91c8219
327
+ activerecord (8.1.3) sha256=8003be7b2466ba0a2a670e603eeb0a61dd66058fccecfc49901e775260ac70ab
328
+ activestorage (8.1.3) sha256=0564ce9309143951a67615e1bb4e090ee54b8befed417133cae614479b46384d
329
+ activesupport (8.1.3) sha256=21a5e0dfbd4c3ddd9e1317ec6a4d782fa226e7867dc70b0743acda81a1dca20e
330
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
331
+ aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b
332
+ aws-partitions (1.1261.0) sha256=89eda89781c1ea4e1be2a2dcdc72318c62c6171a01cdaeaa0cbecf3cea6f9fdc
333
+ aws-sdk-cloudwatch (1.140.0) sha256=f39c0a3949949051ec76523282773c696e43f5159cf23349ed95e32a07209c3f
334
+ aws-sdk-core (3.252.0) sha256=09c042cbfc2acf2239441cc9b982ebab2a999bed2ef6bdc51849e7b3d6e48a1c
335
+ aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00
336
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
337
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
338
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
339
+ bundler (4.0.13) sha256=19f08be7f27022cf0b89f27da0b044ae075e8270a9ef44ad248a932614e1ca3b
340
+ concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0
341
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
342
+ crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d
343
+ date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
344
+ diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
345
+ dogstatsd-ruby (5.7.1) sha256=d2e211f9635d6bbe773e152e00fd4cb9f165d26e10356dbef8f917f7a9e5d58c
346
+ dotenv (3.2.0) sha256=e375b83121ea7ca4ce20f214740076129ab8514cd81378161f11c03853fe619d
347
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
348
+ erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9
349
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
350
+ globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11
351
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
352
+ io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
353
+ irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
354
+ jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1
355
+ json (2.19.9) sha256=9b9025b7cdddafa38d316eca0b2358488e42d417045c1b90d216a9fefe46b79a
356
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
357
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
358
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
359
+ loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04
360
+ mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941
361
+ marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
362
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
363
+ minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1
364
+ net-imap (0.6.4.1) sha256=29f0360d75a7efd3539f16ac1957dea5c0a51ddeceb348db4553c3120914ea0d
365
+ net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
366
+ net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
367
+ net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
368
+ nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
369
+ nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f
370
+ nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af
371
+ nokogiri (1.19.4-arm-linux-gnu) sha256=a301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca
372
+ nokogiri (1.19.4-arm-linux-musl) sha256=588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb
373
+ nokogiri (1.19.4-arm64-darwin) sha256=a46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527
374
+ nokogiri (1.19.4-x86_64-darwin) sha256=7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551
375
+ nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
376
+ nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
377
+ parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
378
+ parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
379
+ pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
380
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
381
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
382
+ psych (5.4.0) sha256=14f72d69a611af663d7d70e4a7b67d9eb1f3ae9f8d916b478961d5a0075ba5b7
383
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
384
+ rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
385
+ rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
386
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
387
+ rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
388
+ rails (8.1.3) sha256=6d017ba5348c98fc909753a8169b21d44de14d2a0b92d140d1a966834c3c9cd3
389
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
390
+ rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89
391
+ railties (8.1.3) sha256=913eb0e0cb520aac687ffd74916bd726d48fa21f47833c6292576ef6a286de22
392
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
393
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
394
+ rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192
395
+ redis-client (0.30.0) sha256=743f11ed42f0a41a0341554087b077479fec7e2d47a7c123fd90a12c0db5e477
396
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
397
+ reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
398
+ request_queue_time (0.3.0)
399
+ rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
400
+ rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
401
+ rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
402
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
403
+ rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
404
+ rubocop (1.87.0) sha256=b9d9ddf55116a513f8ef2c7ae660662d8b49301f118d3f0df61865b33a5c188d
405
+ rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
406
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
407
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
408
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
409
+ sidekiq (8.1.6) sha256=be20cd051124b1a16cf97ea9157137abbd30a515c16a5ae9312d2eadd045e40f
410
+ standard (1.55.0) sha256=8a8f2c3e681a4db3aafde1b301561b0f3d7c5f06c160167cb744a4d7baf0426e
411
+ standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
412
+ standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
413
+ stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1
414
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
415
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
416
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
417
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
418
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
419
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
420
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
421
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
422
+ websocket-driver (0.8.1) sha256=5ab238238ce230e5d4b262d2be39624c867914eab99171dc4952b58b577c2d96
423
+ websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
424
+ zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12
425
+
279
426
  BUNDLED WITH
280
- 2.4.7
427
+ 4.0.13
@@ -1,5 +1,5 @@
1
1
  module RequestQueueTime
2
2
  class Middleware
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end
@@ -1,23 +1,31 @@
1
1
  module RequestQueueTime
2
2
  module AutoScalingMetrics
3
3
  class SidekiqReporter
4
- def self.enable
4
+ # `required_queues` lists queue names that must always publish a datapoint,
5
+ # even when Redis has no entry for them. Without this, a queue with a
6
+ # CloudWatch autoscaling policy that never enqueues sits permanently in
7
+ # INSUFFICIENT_DATA, blocking scale-in for the whole service.
8
+ def self.enable(required_queues: [])
5
9
  Sidekiq.configure_server do |config|
6
10
  config.on(:leader) do
7
11
  AutoScalingMetrics::Reporter.start do |reporter|
8
- reporter.collector = method(:collect_metrics)
12
+ reporter.collector = -> { collect_metrics(required_queues) }
9
13
  end
10
14
  end
11
15
  end
12
16
  end
13
17
 
14
- def self.collect_metrics
15
- Sidekiq::Queue.all.each do |queue|
18
+ def self.collect_metrics(required_queues = [])
19
+ live_queues = Sidekiq::Queue.all.to_h { |q| [q.name, q] }
20
+ names = (required_queues + live_queues.keys).uniq
21
+
22
+ names.each do |name|
23
+ queue = live_queues[name]
16
24
  AutoScalingMetrics::Reporter.add_metric(
17
25
  metric_name: "sidekiq_queue_latency",
18
- value: queue.paused? ? 0 : queue.latency,
26
+ value: (queue.nil? || queue.paused?) ? 0 : queue.latency,
19
27
  unit: "Seconds",
20
- dimensions: [{name: "queue_name", value: queue.name}]
28
+ dimensions: [{name: "queue_name", value: name}]
21
29
  )
22
30
  end
23
31
  end
@@ -24,6 +24,4 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.add_dependency "aws-sdk-cloudwatch"
26
26
  spec.add_dependency "dogstatsd-ruby"
27
-
28
- spec.add_development_dependency "bundler", "~> 2.4"
29
27
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: request_queue_time
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Brusman
8
8
  - Björn Nordstrand
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2025-02-18 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: aws-sdk-cloudwatch
@@ -39,28 +38,12 @@ dependencies:
39
38
  - - ">="
40
39
  - !ruby/object:Gem::Version
41
40
  version: '0'
42
- - !ruby/object:Gem::Dependency
43
- name: bundler
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: '2.4'
49
- type: :development
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: '2.4'
56
- description:
57
- email:
58
41
  executables: []
59
42
  extensions: []
60
43
  extra_rdoc_files: []
61
44
  files:
45
+ - ".buildkite/pipeline.yml"
62
46
  - ".env.test"
63
- - ".github/workflows/main.yml"
64
47
  - ".gitignore"
65
48
  - ".rspec"
66
49
  - ".ruby-version"
@@ -86,7 +69,6 @@ metadata:
86
69
  source_code_uri: https://github.com/teamtailor/request_queue_time
87
70
  changelog_uri: https://github.com/teamtailor/request_queue_time/blob/main/CHANGELOG.md
88
71
  github_repo: ssh://github.com/teamtailor/request_queue_time
89
- post_install_message:
90
72
  rdoc_options: []
91
73
  require_paths:
92
74
  - lib
@@ -101,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
83
  - !ruby/object:Gem::Version
102
84
  version: '0'
103
85
  requirements: []
104
- rubygems_version: 3.5.22
105
- signing_key:
86
+ rubygems_version: 4.0.10
106
87
  specification_version: 4
107
88
  summary: Used by ECS stacks for Teamtailor
108
89
  test_files: []
@@ -1,28 +0,0 @@
1
- name: Ruby
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- pull_request:
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
- name: Ruby ${{ matrix.ruby }}
14
- strategy:
15
- matrix:
16
- ruby:
17
- - "3.3"
18
- - "3.2"
19
-
20
- steps:
21
- - uses: actions/checkout@v3
22
- - name: Set up Ruby
23
- uses: ruby/setup-ruby@v1
24
- with:
25
- ruby-version: ${{ matrix.ruby }}
26
- bundler-cache: true
27
- - name: Run the default task
28
- run: bundle exec rake