diff --git a/sgx_jmp.rb b/sgx_jmp.rb index 6fdf2fe3f575d688e9e3527cf6147508e1a60731..e5a4eacce8b3f3f00b259a0bc1d3c12718055fa8 100644 --- a/sgx_jmp.rb +++ b/sgx_jmp.rb @@ -200,6 +200,19 @@ def load_plans_to_db! end end +def db_notify_listen(conn) + Sentry.with_scope do |scope| + scope.clear_breadcrumbs + scope.set_transaction_name("DB NOTIFY") + Thread.current[:log] = ::LOG.child(transaction: scope.transaction_name) + conn.query("LISTEN low_balance") + conn.query("LISTEN possible_renewal") + catchup_notify_low_balance(conn) + catchup_notify_possible_renewal(conn) + poll_for_notify(conn).sync + end +end + when_ready do log.info "Ready" BLATHER = self @@ -210,11 +223,10 @@ when_ready do TEL_SELECTIONS = TelSelections.new DB.hold do |conn| - conn.query("LISTEN low_balance") - conn.query("LISTEN possible_renewal") - catchup_notify_low_balance(conn) - catchup_notify_possible_renewal(conn) - poll_for_notify(conn) + EMPromise.resolve(nil).then do + Sentry.clone_hub_to_current_thread + db_notify_listen(conn) + end end load_plans_to_db!