Crontab appQualificationCheckHour funktioniert nicht #110
Closed
opened 2023-07-21 17:55:25 +02:00 by jost
·
18 comments
No Branch/Tag Specified
master
145-build-system-rewrite
fradrive/jost
144-ghc-update
stundenplan
fraport-corporate-design-icons
oauth-fixes
130-dbtable-kein-automatisches-filtern-bei-input-change-sondern-manuelle-ubernahme-via-button
130-dbtable-kein-automatisches-filtern-bei-input-change-sondern-manuelle-ubernahme-via-button-2
oauth-fixes-tmp
utils
fradrive/fraport-corporate-design
test
55-oauth2-single-sign-on
128-remove-nodejs
fradrive/new-jobsystem
110-crontab
fradrive/firm/indices
frontend
fradrive/apc-envelope-problem
fradrive/tutorial-overhaul
fradrive/simple-quick-actions
fradrive/pagination-fix
fradrive/pagination-problem
frontend-update
544-tutoriumsdaten-bei-teilnehmerliste
729-payloads-pro-zustand-anzeigen-in-workflow-ansicht
256-datenbank-sortiert-sonderzeichen-falsch
workflows
feat/external-apis
722-email-spalte-fur-prufungsteilnehmer-innen
508-frontend-util-cleanup
597-An-geeigneter-Stelle-Anzahl-Abgebende-für-ein-Übungsblatt-anzeigen
631-content-dependent-chunking
minio-file-upload
476-interface-fur-klausurkorrekturen-dev
476-interface-fur-klausurkorrekturen
mr/476-interface-fur-klausurkorrekturen
datepicker-in-async-table-filter
274-maschinenlesbares-format-fur-bewertungsdateien
feat/db-auth
v27.4.79
v27.4.78
v27.4.77
v27.4.76
v27.4.75
v27.4.74
v27.4.73
v27.4.72
v27.4.71
v27.4.70
v27.4.69
v27.4.68
v27.4.67
v27.4.66
v27.4.65
v27.4.64
v27.4.63
v27.4.62
v27.4.61
v27.4.60
t28.1.1
d29.6.7
t28.1.0
t28.0.10
d29.6.6
d29.6.5
t28.0.9
d29.6.4
t28.0.8
d29.6.3
d29.6.2
d29.6.1
d29.6.0
d29.5.6
d29.5.4
d29.5.3
d29.5.2
d29.5.1
d29.5.0
d29.4.0
d29.3.1
d29.3.0
d29.2.1
d29.2.0
d29.1.1
d29.1.0
d29.0.0
t28.0.0
v27.4.59
v27.4.58
v27.4.57
d28.0.10
d28.0.9
d28.0.8
d28.0.7
d28.0.6
d28.0.5
d28.0.4
d28.0.3
d28.0.2
d28.0.1
d28.0.0
v27.4.56
v27.4.55
v27.4.54
v27.4.53
v27.4.52
v27.4.51
v27.4.50
t27.4.49
v27.4.49
v27.4.48
t27.4.48
v27.4.47
v27.4.46
t27.4.47
t27.4.46
v27.4.45
v27.4.44
v27.4.43
v27.4.42
v27.4.41
v27.4.40
v27.4.39
v27.4.38
v27.4.37
v27.4.36
t27.4.35
t27.4.34
v27.4.34
t27.4.33
t27.4.32
t27.4.31
t27.4.30
t27.4.29
t27.4.28
t27.4.27
t27.4.26
t27.4.25
t27.4.24
t27.4.23
t27.4.22
t27.4.21
t27.4.20
t27.4.19
v27.4.18
t27.4.18-2
t27.4.18
t27.4.17
t27.4.16
t27.4.15
t0.4.0
t0.3.0
t0.2.0
t0.1.0
v27.4.14
v27.4.13
v27.4.12
v27.4.11
v27.4.10
v27.4.9
v27.4.8
v27.4.7
v27.4.6
v27.4.5
v27.4.4
v27.4.3
v27.4.2
v27.4.1
v27.4.0
v27.3.2
v27.3.1
v27.3.0
v27.2.0
v27.1.6
v27.1.5
v27.1.4
v27.1.3
v27.1.2
v27.1.1
v27.1.0
v27.0.29
v27.0.28
v27.0.27
v27.0.26
v27.0.25
v27.0.24
v27.0.23
v27.0.22
v27.0.21
v27.0.20
v27.0.19
v27.0.18
v27.0.17
v27.0.16
v27.0.15
v27.0.14
v27.0.13
v27.0.12
v27.0.11
v27.0.10
v27.0.9
v27.0.8
v27.0.7
v27.0.6
v27.0.5
v27.0.4
v27.0.3
v27.0.2
v27.0.1
v27.0.0
v26.6.6
v26.6.5
v26.6.4
v26.6.3
v26.6.2
v26.6.1
v26.6.0
v26.5.14
v26.5.13
v26.5.12
v26.5.11
v26.5.10
v26.5.9
v26.5.8
v26.5.7
v26.5.6
v26.5.5
v26.5.4
v26.5.3
v26.5.2
v26.5.1
v26.5.0
v26.4.0
v26.3.1
v26.3.0
v26.2.6
v26.2.5
v26.2.4
v26.2.3
v26.2.2
v26.2.1
v26.2.0
v26.1.4
v26.1.3
v26.1.2
v25.24.5
v25.24.4
v25.24.3
v25.24.2
v25.24.1
v25.24.0
v25.23.5
v25.23.4
v25.23.3
v25.23.2
v25.23.1
v25.23.0
v25.22.0
v25.21.24
v25.21.23
v25.21.22
v25.21.21
v25.21.20
v25.21.19
v25.21.18
v25.21.17
v25.21.16
v25.21.15
v25.21.14
v25.21.13
v25.21.12
v25.21.11
v25.21.10
v25.21.9
v25.21.8
v25.21.7
v25.21.6
v25.21.5
v25.21.4
v25.21.3
v25.21.2
v25.21.1
v25.21.0
v25.20.2
v25.20.1
v25.20.0
v25.19.3
v25.19.2
v25.19.1
v25.19.0
v25.18.2
v25.18.1
v25.18.0
v25.17.1
v25.17.0
v25.16.0
v25.15.3
v25.15.2
v25.15.1
v25.15.0
v25.14.2
v25.14.1
v25.14.0
v25.13.1
v25.13.0
v25.12.1
v25.12.0
v25.11.0
v25.10.5
v25.10.4
v25.10.3
v25.10.2
v25.10.1
v25.10.0
v25.9.3
v25.9.2
v25.9.1
v25.9.0
v25.8.1
v25.8.0
v25.7.0
v25.6.1
v25.6.0
v25.5.3
v25.5.2
v25.5.1
v25.5.0
v25.4.0
v25.3.0
v25.2.0
v25.1.2
v25.1.1
v25.1.0
v25.0.5
v25.0.4
v25.0.3
v25.0.2
v25.0.1
v25.0.0
v24.9.2
v24.9.1
v24.9.0
v24.8.0
v24.7.0
v24.6.0
v24.5.0
v24.4.3
v24.4.2
v24.4.1
v24.4.0
v24.3.0
v24.2.1
v24.2.0
v24.1.5
v24.1.4
v24.1.3
v24.1.2
v24.1.1
v24.1.0
v24.0.0
v23.7.0
v23.6.0
v23.5.0
v23.4.3
v23.4.2
v23.4.1
v23.4.0
v23.3.0
v23.2.2
v23.2.1
v23.2.0
v23.1.2
v23.1.1
v23.1.0
v23.0.3
v23.0.2
v23.0.1
v23.0.0
v22.1.1
v22.1.0
v22.0.0
v21.1.1
v21.1.0
v21.0.3
v21.0.2
v21.0.1
v21.0.0
v20.14.0
v20.13.0
v20.12.1
v20.12.0
v20.11.1
v20.11.0
v20.10.0
v20.9.0
v20.8.1
v20.8.0
v20.7.0
v20.6.0
v20.5.1
v20.5.0
v20.4.1
v20.4.0
v20.3.2
v20.3.1
v20.3.0
v20.2.0
v20.1.1
v20.1.0
v20.0.0
v19.3.1
v19.3.0
v19.2.2
v19.2.1
v19.2.0
v19.1.5
v19.1.4
v19.1.3
v19.1.2
v19.1.1
v19.1.0
v19.0.0
v18.6.0
v18.5.0
v18.4.0
v18.3.0
v18.2.2
v18.2.1
v18.2.0
v18.1.0
v18.0.0
v17.8.0
v17.7.0
v17.6.5
v17.6.4
v17.6.3
v17.6.2
v17.6.1
v17.6.0
v17.5.0
v17.4.1
v17.4.0
v17.3.0
v17.2.1
v17.2.0
v17.1.1
v17.1.0
v17.0.0
v16.5.0
v16.4.2
v16.4.1
v16.4.0
v16.3.1
v16.3.0
v16.2.2
v16.2.1
v16.2.0
v16.1.0
v16.0.5
v16.0.4
v16.0.3
v16.0.2
v16.0.1
v16.0.0
v15.6.1
v15.6.0
v15.5.0
v15.4.1
v15.4.0
v15.3.0
v15.2.0
v15.1.2
v15.1.1
v15.1.0
v15.0.0
v14.6.0
v14.5.0
v14.4.0
v14.3.0
v14.2.0
v14.1.1
v14.1.0
v14.0.0
v13.0.1
v13.0.0
v12.1.0
v12.0.0
v11.1.1
v11.1.0
v11.0.0
v10.6.0
v10.5.0
v10.4.1
v10.4.0
v10.3.0
v10.2.0
v10.1.0
v10.0.1
v10.0.0
v9.0.3
v9.0.2
v9.0.1
v9.0.0
v8.0.1
v8.0.0
v7.25.1
v7.25.0
v7.24.0
v7.23.2
v7.23.1
v7.23.0
v7.22.1
v7.22.0
v7.21.5
v7.21.4
v7.21.3
v7.21.2
v7.21.1
v7.21.0
v7.20.0
v7.19.2
v7.19.1
v7.19.0
v7.18.3
v7.18.2
v7.18.1
v7.18.0
v7.17.14
v7.17.13
v7.17.12
v7.17.11
v7.17.10
v7.17.9
v7.17.8
v7.17.7
v7.17.6
v7.17.5
v7.17.4
v7.17.3
v7.17.2
v7.17.1
v7.17.0
v7.16.0
v7.15.0
v7.14.1
v7.14.0
v7.13.0
v7.12.0
v7.11.0
v7.10.0
v7.9.1
v7.9.0
v7.8.5
v7.8.4
v7.8.3
v7.8.2
v7.8.1
v7.8.0
v7.7.0
v7.6.0
v7.5.0
v7.4.2
v7.4.1
v7.4.0
v7.3.2
v7.3.1
v7.3.0
v7.2.2
v7.2.1
v7.2.0
v7.1.2
v7.1.1
v7.1.0
v7.0.0
v6.11.1
v6.11.0
v6.10.0
v6.9.0
v6.8.0
v6.7.0
v6.6.0
v6.5.0
v6.4.0
v6.3.0
v6.2.1
v6.2.0
v6.1.0
v6.0.0
v5.5.0
v5.4.0
v5.3.0
v5.2.3
v5.2.2
v5.2.1
v5.2.0
v5.1.0
v5.0.2
v5.0.1
v5.0.0
v4.14.0
v4.13.1
v4.13.0
v4.12.1
v4.12.0
v4.11.0
v4.10.0
v4.9.0
v4.8.0
v4.7.0
v4.6.0
v4.5.0
v4.4.0
v4.3.0
v4.2.0
v4.1.2
v4.1.1
v4.1.0
v4.0.1
v4.0.0
v3.0.0
db14.0.0
v2.1.1
v2.1.0
v2.0.0
v1.4.1
v1.4.0
v1.3.0
v1.1.0
v1.0.0
db8.0.0
db6.0.0
db1.0.0
db0.0.0
dbinitial
Labels
Clear labels
Benötigt Klärung, noch nichts zu implementieren
Won't fix
Kubernetes, Nix, etc.
Kann jetzt noch nicht gelöst werden, da noch Abhängigkeiten bestehen
Problem vermutlich behoben, muss aber noch beobachtet oder getestet werden
Wird in Uni2work behoben und später portiert
Ordered from and appointed to UniWorX Systems LLC
This issue is currently being worked on; probably within a branch
Aufwand: Hoch
Aufwand: Mittel
Aufwand: Niedrig
Blockiert
Diskussion
Benötigt Klärung, noch nichts zu implementieren
Dokumentation
Won't fix
Frontend
Konfigurationsproblem
Kubernetes, Nix, etc.
Prio: Angehalten
Kann jetzt noch nicht gelöst werden, da noch Abhängigkeiten bestehen
Prio: Blocker
Prio: Hoch
Prio: Mittel
Prio: Niedrig
Prio: Unbedeutend
Prüfung ausstehend
Problem vermutlich behoben, muss aber noch beobachtet oder getestet werden
Schnittstelle
Schnittstelle: APC
Schnittstelle: AVS
Schnittstelle: LMS
Schnittstelle: SAP
Uni2Work
Wird in Uni2work behoben und später portiert
UniWorX
Ordered from and appointed to UniWorX Systems LLC
Working
This issue is currently being worked on; probably within a branch
No Label
Aufwand: Hoch
Aufwand: Mittel
Aufwand: Niedrig
Blockiert
Diskussion
Dokumentation
Frontend
Konfigurationsproblem
Prio: Angehalten
Prio: Blocker
Prio: Hoch
Prio: Mittel
Prio: Niedrig
Prio: Unbedeutend
Prüfung ausstehend
Schnittstelle
Schnittstelle: APC
Schnittstelle: AVS
Schnittstelle: LMS
Schnittstelle: SAP
Uni2Work
UniWorX
Working
Milestone
Clear milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Clear assignees
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: fraport/fradrive-old#110
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In src/Jobs/Crontab.hs sollen gemäß appQualificationCheckHour die Jobs
JobLmsQualificationsEnqueueundJobLmsQualificationsDequeuetäglich einmal ausgeführt werden, sofern diese nicht bereits einmal manuell über die Knöpfe in der E-Learning Ansicht ausgelöst wurden (es ist aber prinzipiell harmlos, wenn die Jobs mehrfach hintereinander ausgelöst werden).Die Benutzung der Knöpfe in der E-Learning Ansicht zeigt, dass die beiden Jobs funktionieren und korrekt arbeiten. Die Jobs werden einfach nicht durch die Crontab zur Ausführung eingereiht.
assigned to @savau
mentioned in issue #2
Dequeue wurde anscheinen ausgeführt (Druckjobs wurden zur passenden Uhrzeit erstellt), aber Enqueue wurde nicht ausgeführt. Beide Jobs hinterließen aber keinen Eintrag im Log.
added #114 as child task
Notiz: In
cronQualificationCheckHourwird als Rate-LimitnominalDay / 2definiert, das heißt der Job wird geskipped falls er im letzten halben Tag bereits ausgeführt wurde. Wurde in den letzten 12 Std. also schon (z.B. insbes. auch manuell!) ein QualificationCheckHour job getriggert, könnte dies wegen dem RateLimit das automatische Ausführen verhindernEr wurde aber auch über mehrere Tage nicht ausgeführt.
Stimmt, das spricht schon mal mindestens für ein anderes oder zusätzliches Problem.
Wir schauen uns als nächstes auch mal die Logs und Traces der ausgeführten Jobs an, evtl. finden sich ja Traces von aufgeführten (im Sinne von nur gequed) Jobs die wg. z.B. rateLimit blockieren, aber gar nicht produktiv ausgeführt wurden - für so ein Verhalten kann es unterschiedliche Gründe geben (fehlerhafte Bedingung, irgendwo fälschlicherweise von
ExceptTabgebrochen, Job crashed im richtigen Moment, ...)assigned to @mosbach and unassigned @savau
created branch
110-crontabto address this issuementioned in merge request !22
Seit dem Jahreswechsel funktioniert die automatische Ausführung nicht mehr
Ich kann von extern aus aktuell leider weder anhand der bisherigen Änderungen zur Behebung noch anhand des Prod-Systems eine mögliche Ursache dessen erkennen; die grundlegende Definition der Zeiten zur automatischen Ausführungen sind lediglich über Wochentage (1-5, also Mo-Fr) und Uhrzeiten (15:00 und 03:00 Uhr) definiert, was unabhängig von Jahreswechseln ist.
Hierzu sollten wir uns in unserer nächsten Besprechung wohl mal mögliche Änderungen an der Prod-Konfiguration zusammen ansehen. Bis dahin sehe ich mir die Definitionen der tatsächlichen Enqueue- und Dequeue-Jobs an, vielleicht liegt die Ursache ja dort.
Im Log gibt es keine Aufälligkeiten. Bereits dieses Zeile am Anfang des Handlers
$logInfoS "LMS" $ "Notifying about exipiring qualification " <> qshorttaucht nicht auf, d.h. der Job Handler wird nicht automatisch durch die crontab ausgeführt, obwohl das crontab setting dieser jobs unter
/lmskorrekt angezeigt wird.Nochwas: Unter
/admin/crontabtauchen die Jobs ebenfalls nicht mehr auf. Überhaupt sind nur wenige jobs vorhanden.determine-crontabist allerdings dabei und wird ungefähr einmal pro Minute ausgeführt (zumindest ändern sich die beiden Zeitspalten und zeigen immer die Minute der Aufrufzeit).Unter

/lmssehe ich die korrekten Einstellungen:Danke für die Infos. Ich habe den Cron-/Crontab-Code etwas durchforstet und denke, die Ursache der nicht mehr automatischen Ausführung könnte an einem Bug in
nextCronMatch(src/Cron.hsZ. 159 ff.) liegen:Um zu berechnen, ob ein Job ausgeführt werden soll, fließt der Zeitpunkt wann ein Job gleichen Typs zuletzt ausgeführt wurde. Möglicherweise werden hier Matches im Vorjahr nicht berücksichtigt (= Bug).
Eine einfache Methode, um das zu verifizieren ist, Enqueue- und Dequeue-Job jeweils einmal manuell zu triggern. @jost Bitte mache das mal und gib' dann Bescheid, ob danach Enqueue und Dequeue wieder automatisch ausgeführt werden.
Habe die Jobs über die Knöpfe manuell ausgelöst. Die Crontab-Tabelle hat sich dadurch nicht verändert, aber heute morgen wurde der eine Job tatsächlich wieder ausgeführt - vermutlich dann auch der andere heute Abend.
Komisch aber, denn in der Entwicklungsumgebung sehe ich die beiden Jobs unter
/admin/crontab.Gefixed durch manuelle Ausführung im neuen Jahr; wird seitdem aber nicht mehr in der Crontab gelistet.
mentioned in commit
092a4c78d5