From 918460b456d6c3ed610e6e747eb67b5712ee5344 Mon Sep 17 00:00:00 2001 From: Travis Semple Date: Tue, 11 Jun 2024 10:34:21 -0700 Subject: [PATCH 1/3] Add in ordering for pub --- python/gcp-queue/src/gcp_queue/gcp_queue.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/python/gcp-queue/src/gcp_queue/gcp_queue.py b/python/gcp-queue/src/gcp_queue/gcp_queue.py index f2da6de..2d29726 100644 --- a/python/gcp-queue/src/gcp_queue/gcp_queue.py +++ b/python/gcp-queue/src/gcp_queue/gcp_queue.py @@ -62,6 +62,7 @@ def __init__(self, app: Flask = None): self.audience = None self.credentials_pub = None self.gcp_auth_key = None + self.enable_message_ordering = False self.publisher_audience = None self.service_account_info = None self._publisher = None @@ -73,6 +74,7 @@ def init_app(self, app: Flask): """Initializes the application""" self.app = app self.gcp_auth_key = app.config.get("GCP_AUTH_KEY") + self.enable_message_ordering = app.config.get("PUB_ENABLE_MESSAGE_ORDERING") if self.gcp_auth_key: try: audience = app.config.get( @@ -101,13 +103,18 @@ def init_app(self, app: Flask): @property def publisher(self): """Returns the publisher""" + if self._publisher: + return self._publisher - if not self._publisher and self.credentials_pub: - self._publisher = pubsub_v1.PublisherClient( - credentials=self.credentials_pub + publisher_options = None + if self.enable_message_ordering: + publisher_options = pubsub_v1.types.PublisherOptions( + enable_message_ordering=True ) - elif not self._publisher: - self._publisher = pubsub_v1.PublisherClient() + self._publisher = pubsub_v1.PublisherClient( + credentials=self.credentials_pub, + publisher_options=publisher_options or () + ) return self._publisher @staticmethod From f3d4da952223d92c63d7f6150429a1e2c7609a34 Mon Sep 17 00:00:00 2001 From: Travis Semple Date: Tue, 11 Jun 2024 10:47:51 -0700 Subject: [PATCH 2/3] Small tweak --- python/gcp-queue/src/gcp_queue/gcp_queue.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/python/gcp-queue/src/gcp_queue/gcp_queue.py b/python/gcp-queue/src/gcp_queue/gcp_queue.py index 2d29726..4e8f9f3 100644 --- a/python/gcp-queue/src/gcp_queue/gcp_queue.py +++ b/python/gcp-queue/src/gcp_queue/gcp_queue.py @@ -63,6 +63,7 @@ def __init__(self, app: Flask = None): self.credentials_pub = None self.gcp_auth_key = None self.enable_message_ordering = False + self.publisher_options = () self.publisher_audience = None self.service_account_info = None self._publisher = None @@ -75,6 +76,10 @@ def init_app(self, app: Flask): self.app = app self.gcp_auth_key = app.config.get("GCP_AUTH_KEY") self.enable_message_ordering = app.config.get("PUB_ENABLE_MESSAGE_ORDERING") + if self.enable_message_ordering: + self.publisher_options = pubsub_v1.types.PublisherOptions( + enable_message_ordering=True + ) if self.gcp_auth_key: try: audience = app.config.get( @@ -106,14 +111,9 @@ def publisher(self): if self._publisher: return self._publisher - publisher_options = None - if self.enable_message_ordering: - publisher_options = pubsub_v1.types.PublisherOptions( - enable_message_ordering=True - ) self._publisher = pubsub_v1.PublisherClient( credentials=self.credentials_pub, - publisher_options=publisher_options or () + publisher_options=self.publisher_options ) return self._publisher From ec04b8f68a20885fbd1aeb758059709dc271fd8f Mon Sep 17 00:00:00 2001 From: Travis Semple Date: Tue, 11 Jun 2024 11:02:34 -0700 Subject: [PATCH 3/3] Spacing --- python/gcp-queue/src/gcp_queue/gcp_queue.py | 1 + 1 file changed, 1 insertion(+) diff --git a/python/gcp-queue/src/gcp_queue/gcp_queue.py b/python/gcp-queue/src/gcp_queue/gcp_queue.py index 4e8f9f3..be23a93 100644 --- a/python/gcp-queue/src/gcp_queue/gcp_queue.py +++ b/python/gcp-queue/src/gcp_queue/gcp_queue.py @@ -108,6 +108,7 @@ def init_app(self, app: Flask): @property def publisher(self): """Returns the publisher""" + if self._publisher: return self._publisher