Unreleased Release Notes¶
4.5.1-5¶
New Features¶
Adds pickle support for the threading backend service.
Added
run_periodic_tasks_in_parallel()to allow services to run due periodic tasks concurrently when explicitly requested.This helper is supported only with the
threadingbackend and requires the PeriodicTasks instance and execution context to be picklable.
4.5.1¶
Bug Fixes¶
The oslo.service threading mode checks if the service instance is picklable and based on that it selects the multiprocessing start method as ‘spawn’ or ‘fork’. But it did not account for the conf object which is passed by the cotyledon (via hook registered by
oslo_config_glue.link()) to multiprocessing. Multiprocessing checks if that conf object is not picklable or not.In bug 2142122, oslo.service checked service instance picklable and selected the ‘spawn’ method but further multiprocessing failed when it found the conf object is not picklable. This bug is fixed by checking both service instance as well as the conf object.