Skip to main content

Google Cloud Asyncio PubSub RPC uses gcloud-aio-pubsub to deliver remote procedure calls over Google Cloud Platform Pub/Sub.

Project description

GCP Asyncio PubSub RPC Client

Google Cloud PubSub RPC Client is a lightweight Python package designed for managing and orchestrating job submissions across asynchronous environments using Google Cloud Pub/Sub. This package facilitates seamless integration of job queues, providing tools to submit jobs, and handle their responses efficiently. With built-in support for Prometheus metrics, it allows users to monitor job submission rates, success rates, processing times, and more, ensuring optimal performance and reliability. Whether you're handling sporadic tasks or managing continuous streams of jobs, PubSub RPC Client ensures that your job processing is scalable, efficient, and fully monitored.

Getting Started

Go to the examples folder to see how to quickly get a sample client and server up and running.

Creating Google Cloud Pub/Sub Topics Using gcloud

To create the Pub/Sub topics job-topic and response-topic from your command line, follow these steps:

Create job-topic and response-topic:

Run the following command to create the job-topic:

gcloud pubsub topics create job-topic
gcloud pubsub topics create response-topic

These commands will create the specified topics in your Google Cloud project, allowing you to publish and subscribe to messages.

Running examples

After creating topics, install the dependencies with poetry install. The project-name is the GCP project where your topics are defined.

Running a client:

To run the client (streaming or non-streaming):

# Streaming client
poetry run python examples/stream_client.py project-name response-topic job-topic

# Non-streaming client
poetry run python examples/client.py project-name response-topic job-topic

Running the server:

To run the server:

poetry run python examples/stream_server.py project-name job-topic response-topic

The server supports both streaming and non-streaming results out of the box. To extend the server, subclass PubSubRPCServer and provide definitions for process_stream_message and process_message.

The server will handle terminating the stream and routing the messages back to the client.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gcloud_aio_pubsub_rpc-0.1.1.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

gcloud_aio_pubsub_rpc-0.1.1-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file gcloud_aio_pubsub_rpc-0.1.1.tar.gz.

File metadata

  • Download URL: gcloud_aio_pubsub_rpc-0.1.1.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.8 Linux/6.5.0-35-generic

File hashes

Hashes for gcloud_aio_pubsub_rpc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab23d3c95bdf86db9c655543c57779839325052a14339baa25fe62f80dc816f9
MD5 56871ecc07bfa221cc326ff93b4296c7
BLAKE2b-256 ae8dcfefa07cdcd03514b0f2aa4581d4a19a594544ba42f5e2e56ec7833cabf3

See more details on using hashes here.

File details

Details for the file gcloud_aio_pubsub_rpc-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for gcloud_aio_pubsub_rpc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 449b9d73e7ae109d0694d835f3aac2915cfbf36886d58bae3c9de4a94b4f1201
MD5 61af240fd9e59b671cf425e027ea9f13
BLAKE2b-256 5de645deb6a0946fef565678c13763042ec921035de36c56c29e6637e80a91b7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page