From 0e73730c9abc073807dee3317dfbd3b05db26960 Mon Sep 17 00:00:00 2001 From: fabiensebban Date: Mon, 11 Aug 2025 20:22:31 +0200 Subject: [PATCH 1/2] cloudwatch metrics can be turned off --- lib/lambdakiq/metrics.rb | 1 + lib/lambdakiq/railtie.rb | 1 + test/cases/job_test.rb | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/lib/lambdakiq/metrics.rb b/lib/lambdakiq/metrics.rb index 67a59e7..b65fc3f 100644 --- a/lib/lambdakiq/metrics.rb +++ b/lib/lambdakiq/metrics.rb @@ -17,6 +17,7 @@ def initialize(event) def log return unless lambdakiq? + return unless Lambdakiq.config.send_cloud_watch_metrics logger.info JSON.dump(message) end diff --git a/lib/lambdakiq/railtie.rb b/lib/lambdakiq/railtie.rb index 667c340..4fae5ec 100644 --- a/lib/lambdakiq/railtie.rb +++ b/lib/lambdakiq/railtie.rb @@ -3,6 +3,7 @@ class Railtie < ::Rails::Railtie config.lambdakiq = ActiveSupport::OrderedOptions.new config.lambdakiq.max_retries = 12 config.lambdakiq.metrics_namespace = 'Lambdakiq' + config.lambdakiq.send_cloud_watch_metrics = true config.after_initialize do config.active_job.logger = Rails.logger diff --git a/test/cases/job_test.rb b/test/cases/job_test.rb index 57b4e2a..9cfbad2 100644 --- a/test/cases/job_test.rb +++ b/test/cases/job_test.rb @@ -43,6 +43,15 @@ class JobTest < LambdakiqSpec expect(metric['JobArg1']).must_equal 'test' end + it 'does not log cloudwatch embedded metrics when disabled' do + Lambdakiq.config.send_cloud_watch_metrics = false + response = Lambdakiq::Job.handler(event_basic(messageId: message_id)) + assert_response response, failures: false + metric = logged_metric('perform.active_job') + expect(metric).must_be_nil + Lambdakiq.config.send_cloud_watch_metrics = true + end + it 'must change message visibility to next value for failed jobs' do event = event_basic attributes: { ApproximateReceiveCount: '7' }, job_class: 'TestHelper::Jobs::ErrorJob', messageId: message_id response = Lambdakiq::Job.handler(event) From 7ccb0c96f6ab345856e27494685f86a8567e34b5 Mon Sep 17 00:00:00 2001 From: fabiensebban Date: Tue, 12 Aug 2025 15:23:07 +0200 Subject: [PATCH 2/2] update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7962236..6e39dcc 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ config.lambdakiq - `max_retries=` - Retries for all jobs. Default is the Lambdakiq maximum of `12`. - `metrics_namespace=` - The CloudWatch Embedded Metrics namespace. Default is `Lambdakiq`. - `metrics_logger=` - Set to the Rails logger which is STDOUT via Lamby/Lambda. +- `send_cloud_watch_metrics` - Set to `true` to enable CloudWatch metrics. Default is `true`. ### ActiveJob Configs