mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-12-11 04:12:26 -06:00
* Use context manager for Job concurrency control * Allow to release lock outside of Job running context * Improve JobGroup locking with external ownership tracking Track lock ownership by job UUID instead of execution context. This allows external lock release via job parameter. * Fix acquire lock in nested Jobs * Simplify nested lock tracking * Simplify Job group lock acquisition logic * Simplify by using helper methods * Allow throttling with group concurrency * Use Lock instead of Semaphore for job concurrency control Use the same synchronization primitive (Lock) for job concurrency control as used in job groups. * Go back to lock ownership tracking with references * Drop unused property `active_job_id` * Drop unused property `can_acquire` * Replace assert with cast