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 |