-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pulsar updates... #22
Conversation
…andling - Implement separate producers and consumers for each channel - Add channel-specific subscribe and unsubscribe functionality - Improve logging with a dedicated logger - Enhance error handling and timeout management in next_published method - Optimize connection and disconnection processes
@daveads please address @danyi1212's comments |
Sure |
Hey @daveads any news on this? |
@gemanor @danyi1212 Done |
@danyi1212 it's LGTM, please run a last sanity review and merge. |
will work on the review this week... |
we were suppose to drop test for 3.8 and add 3.12.. will get back to this... need to attend to something via opal... Done |
Replaced |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good, left few small comments
Notice the difference between await asyncio.gather(*coros, return_exceptions=True) Compared to try:
await asyncio.gather(*coros)
except Exception as e:
logger.exception("Failed ...") In the first option it will supress any exception raised inside the coros and include them in the list returned by the gather, retaining the order of the received coros. In the second example, when a single coro inside the gather fails, it will immediately cancel all running coros, and drop the returned values of completed coros. If you want all coros to complete regardless of when some of them fail, you should use return_exceptions=True. Through you should remember to actually use the returned values, and if exception where raised, handle them (in our case, at least log them) |
Refactor PulsarBackend for multi-channel support and improved error handling