Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Wolfgang Willburger -
Anzahl Antworten: 8

Hallo!

Seit 2 Wochen „kämpfe“ ich mit dem Problem, dass Nachrichten über das Teilnahmeende bei manueller Einschreibung in einen Kurs zwar an den Trainer, nicht aber an den betreffenden Teilnehmer gesendet werden.

Der cron-Job wird auf meinem Entwicklungsserver stündlich ausgeführt, am produktiven Server wird der cron-Job nur um Mitternacht ausgeführt.

Aus beiden Servern habe ich dasselbe Problem:

Die Mitteilung, dass ein Kurs für einen bestimmten Teilnehmer endet, wird ordnungsgemäß zur festgelegten Zeit an den Trainer gesendet. Der Kursteilnehmer aber bekommt keine Verständigung.

Wir verwenden Moodle 3.2.1

Danke!



Mittelwert:  -
Als Antwort auf Wolfgang Willburger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Andreas Schenkel -
Ergänzende Information zum cron-job ... der kann ruhig häufiger, also in kleineren Zeitintervallen ausgeführt werden (z.B. alle 2 min).
Als Antwort auf Andreas Schenkel

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Wolfgang Willburger -

Danke!! Probier ich gleich, bin neugierig, ob das das Problem löst.

LG

aus Hall in Tirol


Als Antwort auf Wolfgang Willburger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Wolfgang Willburger -
Das Aufrufintervall des cron-Jobs auf 2 Minuten setzen hat (ausser, dass die Logdatei gewaltig angewachsen ist) leider nichts gebracht.
Nach wie vor werden die Mails nur an den Trainer, nicht aber an die Teilnehmer gesendet.

LG
Wolfgang
Als Antwort auf Wolfgang Willburger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Stefanie Berger -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer

Lieber Worfgang,

nur zur Sicherheit die Nachfrage: in den Einstellungen zur Einschreibemethode ist aber ausgewählt, dass die Benachrichtigung an Eingeschriebene und Trainer geht?

Schreenshot

Liebe Grüße
Stefanie

Als Antwort auf Stefanie Berger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Wolfgang Willburger -

Hallo Stefanie!

Ja die Einstellung zur Einschreibmethode ist ausgewählt.


Ich habe auch die Einstellungen in den Plugins vorgenommen:


Ich vermute die Ursache in einem der u.a Files, konnte aber bis jetzt nicht herausfinden in welchen Tabellen der Datenbank die Eintragungungen für die "manuelle Einschreibung" vorgenommen werden.


/enrol/lib.php
4.299    $expirynotify = $this->get_config('expirynotify', 0);
4.333    $expirynotify = $this->get_config('expirynotify', 0);
4.365    if ($expirynotify == 2) {
4.399    $expirynotify = 1;
4.735    'expirynotify'    => $expirynotify,
4.756    'expirynotify'    => $expirynotify,
24.978    * Return an array of valid options for the expirynotify.
25.055    protected function get_expirynotify_options() {
25.170    1 => get_string('expirynotifyenroller', 'core_enrol'),
25.237    2 => get_string('expirynotifyall', 'core_enrol')
26.460    $options = $this->get_expirynotify_options();
26.522    $mform->addElement('select', 'expirynotify', get_string('expirynotify', 'core_enrol'), $options);
26.549    $mform->addElement('select', 'expirynotify', get_string('expirynotify', 'core_enrol'), $options);
26.621    $mform->addHelpButton('expirynotify', 'expirynotify', 'core_enrol');
26.637    $mform->addHelpButton('expirynotify', 'expirynotify', 'core_enrol');
26.983    $mform->disabledIf('expirythreshold', 'expirynotify', 'eq', 0);
27.952    if ($data['expirynotify'] > 0 and $data['expirythreshold'] < 86400) {
28.270    $validexpirynotify = array_keys($this->get_expirynotify_options());
28.307    $validexpirynotify = array_keys($this->get_expirynotify_options());
28.490    'expirynotify' => $validexpirynotify,
28.513    'expirynotify' => $validexpirynotify,

 /enrol/manual/settings.php
 2.143    $settings->add(new admin_setting_configselect('enrol_manual/expirynotifyhour', get_string('expirynotifyhour', 'core_enrol'), '', 6, $options));
2.174    $settings->add(new admin_setting_configselect('enrol_manual/expirynotifyhour', get_string('expirynotifyhour', 'core_enrol'), '', 6, $options));
3.907    $options = array(0 => get_string('no'), 1 => get_string('expirynotifyenroller', 'core_enrol'), 2 => get_string('expirynotifyall', 'core_enrol'));
3.962    $options = array(0 => get_string('no'), 1 => get_string('expirynotifyenroller', 'core_enrol'), 2 => get_string('expirynotifyall', 'core_enrol'));
4.060    $settings->add(new admin_setting_configselect('enrol_manual/expirynotify',
4.095    get_string('expirynotify', 'core_enrol'), get_string('expirynotify_help', 'core_enrol'), 0, $options));
4.137    get_string('expirynotify', 'core_enrol'), get_string('expirynotify_help', 'core_enrol'), 0, $options));

/lib/enrollib.php
74.680    'enrolperiod', 'expirynotify', 'notifyall', 'expirythreshold',
89.152    * - expirynotifyhour plugin setting,
89.239    * - configuration options in instance edit form (expirynotify, notifyall and expirythreshold),
90.197    $expirynotifylast = $this->get_config('expirynotifylast', 0);
90.235    $expirynotifylast = $this->get_config('expirynotifylast', 0);
90.267    $expirynotifyhour = $this->get_config('expirynotifyhour');
90.305    $expirynotifyhour = $this->get_config('expirynotifyhour');
90.346    if (is_null($expirynotifyhour)) {
90.450    debugging("send_expiry_notifications() in $name enrolment plugin needs expirynotifyhour setting");
90.918    $notifytime = usergetmidnight($timenow, $CFG->timezone) + ($expirynotifyhour * 3600);
90.958    if ($expirynotifylast > $notifytime) {
91.097    $trace->output($name.' enrolment expiry notifications were already sent today at '.userdate($expirynotifylast, '', $CFG->timezone).'.');
91.618    $sql = "SELECT ue.*, e.expirynotify, e.notifyall, e.expirythreshold, e.courseid, c.fullname
91.812    JOIN {enrol} e ON (e.id = ue.enrolid AND e.enrol = :name AND e.expirynotify > 0 AND e.status = :enabled)
93.862    $this->set_config('expirynotifylast', $timenow);



Liebe Grüße aus Hall in Tirol

Wolfgang

Als Antwort auf Wolfgang Willburger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Stefanie Berger -
Nutzerbild von Besonders aktive Moodler Nutzerbild von Deutsche Moodle Übersetzer

Lieber Wolfgang,

mit dem zweiten Teil deiner Antwort kann ich leider auch nix anfangen – aber eine "Sicherheitsnachfrage" noch:

Ist auch wirklich ein Trainer direkt im Kurs eingeschrieben – und nicht "nur" über den Kursbereich z.B.?

Liebe Grüße
Stefanie

Als Antwort auf Stefanie Berger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von Wolfgang Willburger -

Hallo Stefanie!

Ja der Trainer ist direkt im Kurs eingeschrieben.


LG

Wolfgang


Als Antwort auf Wolfgang Willburger

Re: Nachricht an Kursteilnehmer zum Teilnahmeende funktioniert nicht - Cron-Job wird ausgeführt

von shyam patel -

Hi Guys,

The corn job is run on my development server every hour, on the productive  server  the corn job is Executed only at midnight.From Both servers We have the problem.The notification did a course ends for a Particular participant will be sent to the trainer at The appointed time. He does not get any understanding.

We have use  Moodle 3  .2.1

Thank you.....................