Commit Graph

11 Commits

Author SHA1 Message Date
unkin-agent 91655fcb0a fix(ha): gate library tasks on the scan leader by default
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
Jellyfin:ScanLeader:Enabled defaults to false and nothing sets it, so
leader election never runs and every replica executes the timer-driven
library tasks concurrently - the exact behaviour the lease prevents.

- Enable gating by default when a Redis connection string is configured
- Honour an explicit Enabled setting either way
- Carry the effective decision onto the bound options the task worker reads
- Log at startup whether gating is active
- Warn when gating is enabled but no Redis connection string is configured
2026-09-13 13:19:48 +10:00
unkin-agent 3b416c7fb2 feat: gate periodic library tasks behind a scan-leader lease
Timer-driven library tasks fire on every replica, so a library refresh or a
database optimise runs once per pod against the same shared library.

- add IScanLeaderLease with a Redis TTL implementation and a no-op default
- skip timer-driven runs of the gated tasks on instances without the lease
- treat an unreachable Redis as holding the lease so tasks never stop running
- leave manual and API-triggered runs ungated
2026-09-11 23:56:51 +10:00
LukePulverenti 33a3f620e6 display pending installations on dashboard home 2013-03-20 17:17:47 -04:00
LukePulverenti 4c725e69a8 added swagger api docs 2013-03-04 22:34:02 -05:00
LukePulverenti af7aa597c3 referenced core plugins, fixed some dashboard issues, extracted library manager 2013-02-28 14:32:41 -05:00
LukePulverenti 2d06095447 plugin security fixes and other abstractions 2013-02-25 22:43:04 -05:00
LukePulverenti 8ce3e74e81 More DI 2013-02-24 16:53:54 -05:00
LukePulverenti b8d5c71842 type discovery without attributes 2013-02-23 02:57:11 -05:00
LukePulverenti 8b3e8ad478 created IWebSocketListener 2013-02-22 10:16:48 -05:00
LukePulverenti 868a7ce9c8 isolated clickonce dependancies 2013-02-21 23:23:06 -05:00
LukePulverenti 767cdc1f6f Pushing missing changes 2013-02-20 20:33:05 -05:00