Class ThreadScheduler (2.18.0)

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.

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.

shutdown

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

Shut down the scheduler and immediately end all pending callbacks.