govuk_sidekiq 5.0.0 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -20
- data/lib/govuk_sidekiq/api_headers.rb +2 -2
- data/lib/govuk_sidekiq/railtie.rb +1 -1
- data/lib/govuk_sidekiq/sidekiq_initializer.rb +11 -6
- data/lib/govuk_sidekiq/version.rb +1 -1
- metadata +20 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b7dcf56fdac303296683242e648f7d5870dffdc4d635bba94e248850c09e8012
|
4
|
+
data.tar.gz: 82db38cec99745be8126a12009baaae8358bb16b1c580bb6f6755fe4ffffd36f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cce38baca997da9cf804ebe2a1021fd29f7f8a5a9b770b3eef02167bfd308d09cb1ce82e262be7c83e83a4fce54dbef7cb42b5dd89fb6aaf9e914671d7e18a0
|
7
|
+
data.tar.gz: 7905fdb2c6b155fdbaf539df1d8b27539758641173475512c93370832eb1131fd2aee23e42c54d984c5b8e28d711779f036af65d550d779d4c80fa0e2f8c8f89
|
data/README.md
CHANGED
@@ -14,8 +14,6 @@ What does `govuk_sidekiq` do for you?
|
|
14
14
|
[Read more about request tracing][req-tracing].
|
15
15
|
3. Makes sure that we use JSON logging, so that Sidekiq logs will end up
|
16
16
|
properly in Kibana.
|
17
|
-
4. Sends activity stats to Statsd, so that you can make pretty graphs of activity
|
18
|
-
in Grafana or Graphite. See the [Rummager dashboards for an example](https://grafana.publishing.service.gov.uk/dashboard/file/rummager_queues.json).
|
19
17
|
|
20
18
|
[req-tracing]: https://docs.publishing.service.gov.uk/manual/setting-up-request-tracing.html
|
21
19
|
|
@@ -25,7 +23,7 @@ What does `govuk_sidekiq` do for you?
|
|
25
23
|
|
26
24
|
```ruby
|
27
25
|
# Gemfile
|
28
|
-
gem "govuk_sidekiq"
|
26
|
+
gem "govuk_sidekiq"
|
29
27
|
```
|
30
28
|
|
31
29
|
### 2. Add a Sidekiq config file
|
@@ -53,7 +51,7 @@ worker: bundle exec sidekiq -C ./config/sidekiq.yml
|
|
53
51
|
- Set a `REDIS_URL` environment variable. `GOVUK_APP_NAME` should also be
|
54
52
|
set, but this is already done by the default `govuk::app::config`.
|
55
53
|
|
56
|
-
Apply redis variables for your app in [the default config](https://github.com/alphagov/govuk-puppet/blob/
|
54
|
+
Apply redis variables for your app in [the default config](https://github.com/alphagov/govuk-puppet/blob/main/hieradata_aws/common.yaml). For example:
|
57
55
|
|
58
56
|
```
|
59
57
|
govuk::apps::your_app::redis_host: "%{hiera('sidekiq_host')}"
|
@@ -61,7 +59,7 @@ set, but this is already done by the default `govuk::app::config`.
|
|
61
59
|
```
|
62
60
|
- Make sure puppet creates and starts the Procfile worker.
|
63
61
|
|
64
|
-
There's no step-by-step guide for this, but [you can copy the config from collections-publisher](https://github.com/alphagov/govuk-puppet/blob/
|
62
|
+
There's no step-by-step guide for this, but [you can copy the config from collections-publisher](https://github.com/alphagov/govuk-puppet/blob/main/modules/govuk/manifests/apps/collections_publisher.pp).
|
65
63
|
|
66
64
|
### 5. Configure deployment scripts
|
67
65
|
|
@@ -72,18 +70,9 @@ Make sure you restart the worker after deploying by adding a hook to the [capist
|
|
72
70
|
after "deploy:restart", "deploy:restart_procfile_worker"
|
73
71
|
```
|
74
72
|
|
75
|
-
### 6. Add
|
73
|
+
### 6. Add app to sidekiq-monitoring
|
76
74
|
|
77
|
-
|
78
|
-
|
79
|
-
See the [Pinfile][] and [Procfile][] for examples.
|
80
|
-
|
81
|
-
[Pinfile]: https://github.com/alphagov/govuk-puppet/tree/master/development-vm/Pinfile
|
82
|
-
[Procfile]: https://github.com/alphagov/govuk-puppet/tree/master/development-vm/Procfile
|
83
|
-
|
84
|
-
### 7. Add app to sidekiq-monitoring
|
85
|
-
|
86
|
-
See the opsmanual for a step-by-step guide: [Add sidekiq-monitoring to your application][monitoring]
|
75
|
+
See the dev docs for a step-by-step guide: [Add sidekiq-monitoring to your application][monitoring]
|
87
76
|
|
88
77
|
[monitoring]: https://docs.publishing.service.gov.uk/manual/setting-up-new-sidekiq-monitoring-app.html
|
89
78
|
|
@@ -119,7 +108,3 @@ require 'govuk_sidekiq/testing'
|
|
119
108
|
## Licence
|
120
109
|
|
121
110
|
[MIT License](LICENCE)
|
122
|
-
|
123
|
-
## Versioning policy
|
124
|
-
|
125
|
-
See https://github.com/alphagov/styleguides/blob/master/rubygems.md#versioning
|
@@ -22,8 +22,8 @@ module GovukSidekiq
|
|
22
22
|
|
23
23
|
def header_arguments
|
24
24
|
{
|
25
|
-
authenticated_user
|
26
|
-
request_id
|
25
|
+
"authenticated_user" => GdsApi::GovukHeaders.headers[:x_govuk_authenticated_user],
|
26
|
+
"request_id" => GdsApi::GovukHeaders.headers[:govuk_request_id],
|
27
27
|
}
|
28
28
|
end
|
29
29
|
|
@@ -4,7 +4,7 @@ module GovukSidekiq
|
|
4
4
|
class Railtie < Rails::Railtie
|
5
5
|
initializer "govuk_sidekiq.initialize_sidekiq" do |app|
|
6
6
|
SidekiqInitializer.setup_sidekiq(
|
7
|
-
ENV
|
7
|
+
ENV.fetch("GOVUK_APP_NAME", app.root.basename.to_s),
|
8
8
|
{ url: ENV.fetch("REDIS_URL", "redis://127.0.0.1:6379") },
|
9
9
|
)
|
10
10
|
end
|
@@ -1,8 +1,5 @@
|
|
1
1
|
require "sidekiq"
|
2
|
-
require "sidekiq/logging/json"
|
3
|
-
require "sidekiq-statsd"
|
4
2
|
require "govuk_sidekiq/api_headers"
|
5
|
-
require "govuk_app_config/govuk_statsd"
|
6
3
|
|
7
4
|
module GovukSidekiq
|
8
5
|
module SidekiqInitializer
|
@@ -13,10 +10,20 @@ module GovukSidekiq
|
|
13
10
|
)
|
14
11
|
|
15
12
|
Sidekiq.configure_server do |config|
|
13
|
+
config.log_formatter = Sidekiq::Logger::Formatters::JSON.new if ENV["GOVUK_SIDEKIQ_JSON_LOGGING"]
|
14
|
+
|
15
|
+
# $real_stdout is defined by govuk_app_config and is used to point to
|
16
|
+
# STDOUT as that redirects $stdout to actually be $stderr.
|
17
|
+
# When govuk_app_config does this we need to use $real_stdout to output logs to STDOUT.
|
18
|
+
# https://github.com/alphagov/govuk_app_config/blob/08fd9cf6a848615261b3cef021e34490ed72ee55/lib/govuk_app_config/govuk_logging.rb#L18-L24
|
19
|
+
|
20
|
+
# rubocop:disable Style/GlobalVars
|
21
|
+
config.logger = Sidekiq::Logger.new($real_stdout) if defined?($real_stdout)
|
22
|
+
# rubocop:enable Style/GlobalVars
|
23
|
+
|
16
24
|
config.redis = redis_config
|
17
25
|
|
18
26
|
config.server_middleware do |chain|
|
19
|
-
chain.add Sidekiq::Statsd::ServerMiddleware, statsd: GovukStatsd, env: nil, prefix: "workers"
|
20
27
|
chain.add GovukSidekiq::APIHeaders::ServerMiddleware
|
21
28
|
end
|
22
29
|
end
|
@@ -28,8 +35,6 @@ module GovukSidekiq
|
|
28
35
|
chain.add GovukSidekiq::APIHeaders::ClientMiddleware
|
29
36
|
end
|
30
37
|
end
|
31
|
-
|
32
|
-
Sidekiq.logger.formatter = Sidekiq::Logging::Json::Logger.new if Sidekiq.options[:logfile]
|
33
38
|
end
|
34
39
|
end
|
35
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_sidekiq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gds-api-adapters
|
@@ -56,78 +56,58 @@ dependencies:
|
|
56
56
|
name: sidekiq
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '5'
|
62
|
-
- - "<"
|
59
|
+
- - "~>"
|
63
60
|
- !ruby/object:Gem::Version
|
64
61
|
version: '6'
|
65
62
|
type: :runtime
|
66
63
|
prerelease: false
|
67
64
|
version_requirements: !ruby/object:Gem::Requirement
|
68
65
|
requirements:
|
69
|
-
- - "
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '5'
|
72
|
-
- - "<"
|
66
|
+
- - "~>"
|
73
67
|
- !ruby/object:Gem::Version
|
74
68
|
version: '6'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
|
-
name:
|
70
|
+
name: climate_control
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
73
|
- - "~>"
|
80
74
|
- !ruby/object:Gem::Version
|
81
|
-
version: '
|
82
|
-
type: :
|
75
|
+
version: '1.2'
|
76
|
+
type: :development
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
80
|
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version: '
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: sidekiq-statsd
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - ">="
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '2.1'
|
96
|
-
type: :runtime
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - ">="
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '2.1'
|
82
|
+
version: '1.2'
|
103
83
|
- !ruby/object:Gem::Dependency
|
104
84
|
name: railties
|
105
85
|
requirement: !ruby/object:Gem::Requirement
|
106
86
|
requirements:
|
107
87
|
- - "~>"
|
108
88
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
89
|
+
version: '7'
|
110
90
|
type: :development
|
111
91
|
prerelease: false
|
112
92
|
version_requirements: !ruby/object:Gem::Requirement
|
113
93
|
requirements:
|
114
94
|
- - "~>"
|
115
95
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
96
|
+
version: '7'
|
117
97
|
- !ruby/object:Gem::Dependency
|
118
98
|
name: rake
|
119
99
|
requirement: !ruby/object:Gem::Requirement
|
120
100
|
requirements:
|
121
|
-
- - "
|
101
|
+
- - ">="
|
122
102
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
103
|
+
version: '0'
|
124
104
|
type: :development
|
125
105
|
prerelease: false
|
126
106
|
version_requirements: !ruby/object:Gem::Requirement
|
127
107
|
requirements:
|
128
|
-
- - "
|
108
|
+
- - ">="
|
129
109
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
110
|
+
version: '0'
|
131
111
|
- !ruby/object:Gem::Dependency
|
132
112
|
name: rspec
|
133
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -142,34 +122,20 @@ dependencies:
|
|
142
122
|
- - "~>"
|
143
123
|
- !ruby/object:Gem::Version
|
144
124
|
version: '3.4'
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: bundler
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - ">="
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: '1.10'
|
152
|
-
type: :development
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - ">="
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: '1.10'
|
159
125
|
- !ruby/object:Gem::Dependency
|
160
126
|
name: rubocop-govuk
|
161
127
|
requirement: !ruby/object:Gem::Requirement
|
162
128
|
requirements:
|
163
|
-
- -
|
129
|
+
- - '='
|
164
130
|
- !ruby/object:Gem::Version
|
165
|
-
version:
|
131
|
+
version: 4.10.0
|
166
132
|
type: :development
|
167
133
|
prerelease: false
|
168
134
|
version_requirements: !ruby/object:Gem::Requirement
|
169
135
|
requirements:
|
170
|
-
- -
|
136
|
+
- - '='
|
171
137
|
- !ruby/object:Gem::Version
|
172
|
-
version:
|
138
|
+
version: 4.10.0
|
173
139
|
description:
|
174
140
|
email:
|
175
141
|
- govuk-dev@digital.cabinet-office.gov.uk
|
@@ -197,14 +163,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
197
163
|
requirements:
|
198
164
|
- - ">="
|
199
165
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
166
|
+
version: '3.0'
|
201
167
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
202
168
|
requirements:
|
203
169
|
- - ">="
|
204
170
|
- !ruby/object:Gem::Version
|
205
171
|
version: '0'
|
206
172
|
requirements: []
|
207
|
-
rubygems_version: 3.
|
173
|
+
rubygems_version: 3.4.13
|
208
174
|
signing_key:
|
209
175
|
specification_version: 4
|
210
176
|
summary: Provides standard setup and behaviour for Sidekiq in GOV.UK applications.
|