Add per-job "Run now" buttons and a "Start all now" button to the admin Scheduler dashboard (admin-gated endpoints). Triggers run the job in a background thread independent of its interval, refusing a concurrent run (409). While running, the long jobs (maintenance, enrich, backfill, shorts) report live progress through a decoupled contextvar sink, shown as a progress bar on the job row via the existing 4s poll. A manually-triggered run posts a completion notification to the triggering admin's inbox (scheduled runs stay silent to avoid spam); the inbox renders the "scheduler" type trilingually from type+data. While here, give the maintenance job its missing dashboard label/description in all three languages.
20 lines
803 B
JSON
20 lines
803 B
JSON
{
|
|
"navLabel": "Benachrichtigungen",
|
|
"title": "Benachrichtigungen",
|
|
"subtitle": "Neuigkeiten aus deiner Bibliothek und vom System.",
|
|
"empty": "Alles erledigt.",
|
|
"markAllRead": "Alle als gelesen markieren",
|
|
"clearAll": "Alle löschen",
|
|
"markRead": "Als gelesen markieren",
|
|
"dismiss": "Verwerfen",
|
|
"andMore": "und {{count}} weitere",
|
|
"maintenance": {
|
|
"title": "Videos entfernt",
|
|
"body_one": "{{count}} gespeichertes oder in einer Playlist befindliches Video wurde entfernt, weil es auf YouTube nicht mehr verfügbar ist.",
|
|
"body_other": "{{count}} gespeicherte oder in Playlists befindliche Videos wurden entfernt, weil sie auf YouTube nicht mehr verfügbar sind."
|
|
},
|
|
"jobDone": {
|
|
"titleOk": "{{job}} abgeschlossen",
|
|
"titleError": "{{job}} fehlgeschlagen"
|
|
}
|
|
}
|