ThreadScheduler(executor=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 |
concurrent.futures.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, *args, **kwargs)
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=False)
Shut down the scheduler and immediately end all pending callbacks.
Parameter | |
---|---|
Name | Description |
await_msg_callbacks |
bool
If |
Returns | |
---|---|
Type | Description |
List[pubsub_v1.subscriber.message.Message] | The messages submitted to the scheduler that were not yet dispatched to their callbacks. It is assumed that each message was submitted to the scheduler as the first positional argument to the provided callback. |