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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 360dbfaafbf182d077a3d010a9b8f7aef892873a74dba9d5360225873bb3dd9e
4
- data.tar.gz: 57f5fdc1396bb897fb91497d49dfbe42e63e6d0ed4678484eff67ac9946160a8
3
+ metadata.gz: b7dcf56fdac303296683242e648f7d5870dffdc4d635bba94e248850c09e8012
4
+ data.tar.gz: 82db38cec99745be8126a12009baaae8358bb16b1c580bb6f6755fe4ffffd36f
5
5
  SHA512:
6
- metadata.gz: 592383166d00c61ac5691cc203545c95664bdbc16e5551db9a3df4ad549c197f22a1a49a59ee35a1839ed759ab4adcb2fb2f5bb0b6cd4d0ba4f42ac9b7530592
7
- data.tar.gz: 1122c8ac78c73e2d881510d34156d1b2b718433d5e72a2402e870dce15ebc15513391aa2ab136764b9908d2b8ac7cf298e4b0aa55e37dec06f8a3bea04c2bbe8
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", "~> VERSION"
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/master/hieradata/common.yaml). For example:
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/master/modules/govuk/manifests/apps/collections_publisher.pp).
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 your worker to the Procfile & Pinfile
73
+ ### 6. Add app to sidekiq-monitoring
76
74
 
77
- This makes sure that your development environment behaves like production.
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: GdsApi::GovukHeaders.headers[:x_govuk_authenticated_user],
26
- request_id: GdsApi::GovukHeaders.headers[:govuk_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["GOVUK_APP_NAME"] || app.root.basename.to_s,
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
@@ -1,3 +1,3 @@
1
1
  module GovukSidekiq
2
- VERSION = "5.0.0".freeze
2
+ VERSION = "7.0.0".freeze
3
3
  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: 5.0.0
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: 2021-01-19 00:00:00.000000000 Z
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: sidekiq-logging-json
70
+ name: climate_control
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '0.0'
82
- type: :runtime
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: '0.0'
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: '5.0'
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: '5.0'
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: '12.3'
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: '12.3'
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: '0'
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: '0'
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: '2.6'
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.1.4
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.