Better contect for db notify errors

Stephen Paul Weber created

Change summary

sgx_jmp.rb | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)

Detailed changes

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!