Sybren A. Stüvel
59655ea770
Manager: fix error in sleep scheduler when shutting down
...
When the Manager was shutting down while the sleep scheduler was running, it
could cause a null pointer dereference. This is now doubly solved:
- `worker.Identifier()` is now nil-safe, as in, `worker` can be `nil` and
it will still return a sensible string.
- failure to apply the sleep schedule due to the context closing is not
logged as error any more.
2022-09-27 12:27:18 +02:00
Sybren A. Stüvel
48f081e03e
Sleep Scheduler: don't overwrite error
status from Worker
...
The Sleep Scheduler shouldn't push a Worker out of `error` status, as that
could hide problematic situations.
2022-07-21 12:49:32 +02:00
Sybren A. Stüvel
0a5f87bc5a
Sleep Scheduler: perform first check at startup
...
Instead of waiting for a minute, run the first sleep scheduler iteration
at startup.
2022-07-18 19:30:38 +02:00
Sybren A. Stüvel
83467e4c60
Sleep schedule: store 'next check' timestamp in UTC
...
SQLite doesn't parse the timezone info, so timestamps should always be in
UTC.
2022-07-18 19:30:17 +02:00
Sybren A. Stüvel
bfd6746f78
Manager: consult the sleep schedule on worker sign-on
...
If there is no status change queued for the Worker, the sleep schedule
should determine its initial status.
2022-07-18 18:25:24 +02:00
Sybren A. Stüvel
a6ca3f7bdc
Sleep Scheduler: reduce check interval and log level
...
Reduce the check interval and the log level of "nothing to do" messages,
from "developer friendly" to "actually useful".
2022-07-17 17:31:51 +02:00
Sybren A. Stüvel
d7b164133a
Sleep Scheduler implementation for the Manager
...
The Manager now has a sleep scheduler for Workers. The API and background
service work, but there is no web interface yet.
Manifest Task: T99397
2022-07-17 17:27:32 +02:00