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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class ThreadScheduler (2.31.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.31.0 (latest)](/python/docs/reference/pubsub/latest/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.30.0](/python/docs/reference/pubsub/2.30.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.29.1](/python/docs/reference/pubsub/2.29.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.28.0](/python/docs/reference/pubsub/2.28.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.27.3](/python/docs/reference/pubsub/2.27.3/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.26.1](/python/docs/reference/pubsub/2.26.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.25.2](/python/docs/reference/pubsub/2.25.2/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.23.1](/python/docs/reference/pubsub/2.23.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.22.0](/python/docs/reference/pubsub/2.22.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.21.5](/python/docs/reference/pubsub/2.21.5/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.20.3](/python/docs/reference/pubsub/2.20.3/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.19.8](/python/docs/reference/pubsub/2.19.8/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.18.4](/python/docs/reference/pubsub/2.18.4/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.17.1](/python/docs/reference/pubsub/2.17.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.16.1](/python/docs/reference/pubsub/2.16.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.15.2](/python/docs/reference/pubsub/2.15.2/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.14.1](/python/docs/reference/pubsub/2.14.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.13.12](/python/docs/reference/pubsub/2.13.12/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.12.1](/python/docs/reference/pubsub/2.12.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.11.1](/python/docs/reference/pubsub/2.11.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.10.0](/python/docs/reference/pubsub/2.10.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.9.0](/python/docs/reference/pubsub/2.9.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.8.0](/python/docs/reference/pubsub/2.8.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.7.1](/python/docs/reference/pubsub/2.7.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.6.1](/python/docs/reference/pubsub/2.6.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.5.0](/python/docs/reference/pubsub/2.5.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.4.2](/python/docs/reference/pubsub/2.4.2/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.3.0](/python/docs/reference/pubsub/2.3.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.2.0](/python/docs/reference/pubsub/2.2.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.1.0](/python/docs/reference/pubsub/2.1.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [2.0.0](/python/docs/reference/pubsub/2.0.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.7.2](/python/docs/reference/pubsub/1.7.2/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.6.1](/python/docs/reference/pubsub/1.6.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.5.0](/python/docs/reference/pubsub/1.5.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.4.3](/python/docs/reference/pubsub/1.4.3/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.3.1](/python/docs/reference/pubsub/1.3.1/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.2.0](/python/docs/reference/pubsub/1.2.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.1.0](/python/docs/reference/pubsub/1.1.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [1.0.2](/python/docs/reference/pubsub/1.0.2/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [0.45.0](/python/docs/reference/pubsub/0.45.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [0.44.0](/python/docs/reference/pubsub/0.44.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler)\n- [0.43.0](/python/docs/reference/pubsub/0.43.0/google.cloud.pubsub_v1.subscriber.scheduler.ThreadScheduler) \n\n ThreadScheduler(\n executor: typing.Optional[concurrent.futures.thread.ThreadPoolExecutor] = None,\n )\n\nA thread pool-based scheduler. It must not be shared across\nSubscriberClients.\n\nThis scheduler is useful in typical I/O-bound message processing.\n\nProperties\n----------\n\n### queue\n\nQueue: A thread-safe queue used for communication between callbacks\nand the scheduling thread.\n\nMethods\n-------\n\n### schedule\n\n schedule(callback: typing.Callable, *args, **kwargs) -\u003e None\n\nSchedule the callback to be called asynchronously in a thread pool.\n\n### shutdown\n\n shutdown(\n await_msg_callbacks: bool = False,\n ) -\u003e typing.List[pubsub_v1.subscriber.message.Message]\n\nShut down the scheduler and immediately end all pending callbacks."]]