Asyncio Python Client for Google Cloud Pub/Sub
Project description
Installation
$ pip install --upgrade gcloud-aio-pubsub
Usage
This Pub/Sub implementation is a slim wrapper around google-cloud-pubsub==0.25.0 with a few key features:
intermittent gRPC communication errors are (optionally) captured
an optionally infinite async subscription poller has been introduced
The upstream pubsub implementation has been pinned to 0.25 since newer versions can cause odd errors when combined with asyncio processing. At the time of this writing, a new version of the upstream pubsub implementation is being generated – once we’ve tested that version, will update this library.
Here’s the rough usage pattern for subscribing:
import gcloud.aio.pubsub as pubsub
subscriber = pubsub.Client(project)
topic = subscriber.topic(topic)
subscription = topic.subscription(subscription)
async for job_id, message in subscription.poll():
# do something with message
await subscription.acknowledge([job_id])
A couple additional features you might want to play with:
# creates a subscription/topic if it does not exist
subscription.create_if_missing()
topic.create_if_missing()
# the retries argument can be used to retry acks when intermittent gRPC
# errors are received
await subscription.acknowledge([job_ids], retries=3)
# the max_intermittent_errors argument can be used to retry pulls when
# intermittent gRPC errors are received
# setting max_intermittent_errors=None allows any number of these errors
async for job_id, message in subscription.poll(max_intermittent_errors=3):
...
# similarly, the max_errors argument can be used to retry pulls when
# any non-intermittent error is generated by the pull command
# setting max_errors=None allows any number of these errors
async for job_id, message in subscription.poll(max_errors=3):
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gcloud-aio-pubsub-0.5.0.tar.gz
.
File metadata
- Download URL: gcloud-aio-pubsub-0.5.0.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 688b34875cd6d35932953ca4bf11cdf94d56bfa294ac7655d99af95aeabe8878 |
|
MD5 | 9b1303bb7d45f110e673cde13c91af79 |
|
BLAKE2b-256 | 07f934bde3aba75b8581583477e1279438580aa0ceb659cd2ffebf381a66f6ef |
File details
Details for the file gcloud_aio_pubsub-0.5.0-py2.py3-none-any.whl
.
File metadata
- Download URL: gcloud_aio_pubsub-0.5.0-py2.py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaae966ea8704f422fb4258ae6436957332c94997f1245efe5d464315f6d11d3 |
|
MD5 | c54f97eaddc725c8e7bfa31c832b623c |
|
BLAKE2b-256 | 043b0c6a0e03db675474067c3d1013fceeb3d46ae530727acf647f48500e7b3e |