[SPIKE-43288] Possible GemMQ Performance improvements #7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
moved
_publish method
as class method to BarkMQ::Publisher module:Example:
BarkMQ::Publisher.publish(topic_name, message)
. Previously it was defined in multiple placesasync
andworker
publishers.improved performance of
publish
method by cachingtopic_arn
instead ofcalling all the time
create_topic
of aws library. NowBarkMQ.publisher_config
containstopic_arns
as cached arn names. Introduced the new methodBarkMQ.publisher_config.fetch_topic_arn(topic_name)
to get or createtopic_arn
once.verified that
create_topic
happened only once onBarkMQ::Publisher.publish
and it doesn't require to make any enhancement for cardSPIKE-40450
Testing Scope:
-Check all the services that are using this gem to make sure all services are working as it used to.
-Open AWS Account & remove previously created SNS topics
-run rspec
(NOTE:
async_publisher_spec.rb
is failing related to timeout. I haven't changed anything in this area but the test case is still failing locally. Maybe, It requires to run on live CI env. Other specs are passing without any issue. I double checked celluloid usage and it looks good).-verify new topics which were created