17 Commits

Author SHA1 Message Date
Claudio Ortolina 4a6c80f7a9 ML-191: avoid VACUUM / scrobble refresh write collision
Set busy_timeout: 5_000 on MusicLibrary.Repo so SQLite waits up to
5 seconds on lock contention instead of throwing SQLITE_BUSY
immediately (default is 0).

Move RepoVacuum from 0 3 to 3 3 (3:03 AM London) to avoid the
deterministic collision with RefreshScrobbles which fires on the
every-5-min cadence at the hour mark.
2026-05-19 16:46:37 +01:00
Claudio Ortolina a51226d68a Increase retetion of completed oban jobs 2026-05-12 17:07:29 +01:00
Claudio Ortolina afbce40de9 Update dependencies
mix:
  phoenix 1.8.6 => 1.8.7

Manually port update to filter_parameters now including "token" by default
2026-05-06 12:01:27 +01:00
Claudio Ortolina 0ffc348234 Exclude state and params from production http logs 2026-05-04 15:08:51 +01:00
Claudio Ortolina 7c6760d7db ML-158: force single-line log output in production
Three-layer architecture:
- Logster v2 handles HTTP request and LiveView socket telemetry in logfmt format
- Custom formatter as safety net escaping any remaining embedded newlines
- Config flag (single_line_logging) gating Logster attachment to prod only

Dev environment retains multi-line format for readability.
2026-05-04 15:01:10 +01:00
Claudio Ortolina 5c5a523fe6 Move scrobble refresh infra to Oban 2026-03-28 09:00:18 +00:00
Claudio Ortolina 490a3a562f Add Oban operational maintenance configuration 2026-03-17 11:53:12 +00:00
Claudio Ortolina 99e30d5fdf Send the records on this day email at 7am 2026-03-06 08:05:36 +00:00
Claudio Ortolina 478832249b Send record of the day email 2026-03-05 10:37:04 +00:00
Claudio Ortolina c831b20317 Move error tracker notifier files to correct namespace 2026-03-04 19:39:36 +00:00
Claudio Ortolina ad9bcd8481 Inline error tracker notification code
As we don't need the Discord functionality which brings quite a lot of
extra libraries/code
2026-03-04 17:19:14 +00:00
Claudio Ortolina ed1dd2b440 Mount error tracker notifier 2026-03-04 15:55:32 +00:00
Claudio Ortolina 50da389bf9 Run Oban cron jobs only on prod 2026-03-01 16:00:06 +00:00
Claudio Ortolina aa9de04997 Enable ErrorTracker in prod only 2026-02-26 21:33:20 +00:00
Claudio Ortolina 4a8a37a52f Tighten up monitoring routes configuration 2025-01-28 11:49:45 +00:00
Claudio Ortolina f157fbadee Enable live dashboard in production
Includes extras to monitor ecto repos.
2024-11-23 19:26:54 +00:00
Claudio Ortolina d547ee6f8d Generate project
Using `mix phx.new music_library --database sqlite3 --binary-id --no-mailer`
2024-09-12 14:05:08 +01:00