All checks were successful
Deploy yourpart (blue-green) / deploy (push) Successful in 1m36s
1.7 KiB
1.7 KiB
Worker-Schedules per WebSocket
Dieses Feature stellt eine Übersicht bereit, wann Worker-Tasks voraussichtlich wieder laufen.
Zugriffsschutz
Der Zugriff ist nur erlaubt für Nutzer mit mindestens einem dieser Rechte:
adminworker_schedule_read
Migration für das neue Recht:
migrations/018_worker_schedule_socket_right.sql
WebSocket-Events
Voraussetzung: Der Client hat vorher setUserId gesendet.
1) Übersicht
Request:
{
"event": "getWorkerSchedules",
"data": {}
}
Response:
{
"event": "getWorkerSchedulesResponse",
"ok": true,
"generated_at": 1715157600,
"schedules": [
{
"worker": "DirectorWorker",
"tasks": [
{
"task": "salary_payout",
"cadence_seconds": 86400,
"cadence_label": "86400s interval",
"next_run_latest_ts": 1715244000,
"next_run_latest_in_seconds": 86400
}
]
}
]
}
Hinweis: Sekündliche/minütliche Tasks sind absichtlich nicht enthalten.
2) Detaillierte Übersicht
Request:
{
"event": "getWorkerSchedulesDetailed",
"data": {}
}
Response (zusätzlich Live-Status aus dem Worker-Runtime-Registry):
{
"event": "getWorkerSchedulesDetailedResponse",
"ok": true,
"generated_at": 1715157600,
"schedules": [
{
"worker": "DirectorWorker",
"running_worker": true,
"running_watchdog": true,
"current_step": "DirectorWorker: pay_salary",
"last_step_change_ts": 1715157000,
"tasks": []
}
]
}
Rechteprüfung (technisch)
Der Daemon akzeptiert sowohl:
setUserId = community.user.idsetUserId = falukant_data.falukant_user.id
In beiden Fällen wird auf community.user_right + "type".user_right geprüft.