mod_scheduler\task\send_reminders schlägt nach Upgrade von 4.5.6+ auf 5.0.2+ fehl

mod_scheduler\task\send_reminders schlägt nach Upgrade von 4.5.6+ auf 5.0.2+ fehl

von Franziska Nord -
Anzahl Antworten: 3

Hallo zusammen,

nach einem Update von Version 4.5.6+ (Build: 20250902) (2024100706.06) auf Version 5.0.2+ (Build: 20250906) (2025041402.07)  schlägt der Task "E-Mail für anstehende Termine versenden" mit der unten stehenden Fehlermeldung fehl. Ich nehme nicht an, dass die Meldung mit dem verwendeten Betriebssystem, der Webserver- oder PHP-Version in Zusammenhang steht, kann aber diese Informationen sowie Webserverlogs gerne nachliefern. Gibt es eine Möglichkeit, den PHP-Code selbst zu reparieren oder muss ich, wie die Meldung andeutet, auf einen Patch warten?

Viele Grüße

Franziska

Execute scheduled task: E-Mail für anstehende Termine versenden (mod_scheduler\task\send_reminders)
... started 19:11:13. Current memory use 8.5 MB.
Debugging increased temporarily due to faildelay of 61440
... used 1 dbqueries
... used 0.40727400779724 seconds
... used 9.6 MB peak memory
Scheduled task failed: E-Mail für anstehende Termine versenden (mod_scheduler\task\send_reminders),Fehler in der Kodierung gefunden, den nur Programmierer/innen korrigieren können: Deprecation: cron_setup_user has been deprecated since 4.2. Use \core\cron::setup_user() instead. See MDL-77837 for more information.
Backtrace:
* line 150 of /lib/classes/deprecation.php: call to core\deprecation::emit_deprecation_notice()
* line 302 of /lib/deprecatedlib.php: call to core\deprecation::emit_deprecation()
* line 83 of /mod/scheduler/classes/task/send_reminders.php: call to cron_setup_user()
* line 411 of /lib/classes/cron.php: call to mod_scheduler\task\send_reminders->execute()
* line 208 of /lib/classes/cron.php: call to core\cron::run_inner_scheduled_task()
* line 125 of /lib/classes/cron.php: call to core\cron::run_scheduled_tasks()
* line 186 of /admin/cli/cron.php: call to core\cron::run_main_process()
Mittelwert:  -
Als Antwort auf Franziska Nord

mod_scheduler\task\send_reminders schlägt nach Upgrade von 4.5.6+ auf 5.0.2+ fehl

von Dag Klimas -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer Nutzerbild von Translators

Moin Franziska,

es gibt keine Version für Moodle 5.0 - https://moodle.org/plugins/mod_scheduler/versions 

Vorsicht gefährliches Halbwissen (bin kein Entwickler): Das Plugin ruft eine abgekündigte Funktion auf deprecation_notice

Es gibt ein Forum zu dem Plugin: https://moodle.org/mod/forum/discuss.php?d=468680 

Alternative Lösungsmöglichkeiten: Anpassungen entwickeln (lassen). Hier zur Vervollständigung der Link zum Projekt https://github.com/bostelm/moodle-mod_scheduler

Sonnige Grüße
Dag


                                    
Als Antwort auf Dag Klimas

mod_scheduler\task\send_reminders schlägt nach Upgrade von 4.5.6+ auf 5.0.2+ fehl

von Franziska Nord -

Moin Dag,

danke für Deine rasche Antwort. In der Zwischenzeit habe ich eine Lösung gefunden. In mod/scheduler/classes/task/send_reminders.php habe ich die beiden Vorkommen von cron_setup_user() durch \core\cron::setup_user() ersetzt, siehe unten in den Zeilen 78 und 83. Den entscheidenden Hinweis hatte ich in der in der Fehlermeldung zitierten deprecation notice gefunden, in der es hieß, die betroffene Funktion wäre in einen anderen Kontext (Namespace? Keine Ahnung, ich bin auch keine Entwicklerin) verschoben worden. Danach konnte ich den Task manuell ausführen und bekam keine Fehlermeldung. Das scheint also gut ausgegangen zu sein.

Viele Grüße

Franziska

 78                 \core\cron::setup_user($student, $course);
 79                 \scheduler_messenger::send_slot_notification($slotm,
 80                         'reminder', 'reminder', $teacher, $student, $teacher    , $student, $course);
 81             }
 82         }
 83         \core\cron::setup_user();
Als Antwort auf Franziska Nord

mod_scheduler\task\send_reminders schlägt nach Upgrade von 4.5.6+ auf 5.0.2+ fehl

von Peter Eipert -
Danke für die Lösung. Hatte dasselbe Problem nach Update auf Moodle 5.0.3+ (Build: 20251017)

Viele Grüße
Peter