Class ThreadScheduler (2.19.8)

ThreadScheduler(
 executor: typing.Optional[concurrent.futures.thread.ThreadPoolExecutor] = None,
)

A thread pool-based scheduler. It must not be shared across SubscriberClients.

This scheduler is useful in typical I/O-bound message processing.

Parameter

Name Description
executor typing.Optional[concurrent.futures.thread.ThreadPoolExecutor]

An optional executor to use. If not specified, a default one will be created.

Properties

queue

Queue: A thread-safe queue used for communication between callbacks and the scheduling thread.

Methods

schedule

schedule(callback: typing.Callable, *args, **kwargs) -> None

Schedule the callback to be called asynchronously in a thread pool.

Parameter
Name Description
callback Callable

The function to call.

shutdown

shutdown(
 await_msg_callbacks: bool = False,
) -> typing.List[pubsub_v1.subscriber.message.Message]

Shut down the scheduler and immediately end all pending callbacks.

Parameter
Name Description
await_msg_callbacks bool

If True, the method will block until all currently executing executor threads are done processing. If False (default), the method will not wait for the currently running threads to complete.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月10日 UTC.