Forumsbenachrichtigung funktioniert nicht per CronJob

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • LutzWinkler
    Contao-Nutzer
    • 02.09.2009
    • 151

    #1

    Forumsbenachrichtigung funktioniert nicht per CronJob

    Nach der Migration unserer Site gynamed.net funktioniert die Forumsbenachrichtigung nur noch, wenn wir uns im Backend anmelden.
    Obwohl wir einen Scheduler-Job eingerichtet haben, der alle 5 Minuten /system/modules/helpdesk/HelpdeskNotify.php aufruft und einen 'echten' CronJob, der alle 5 Minuten /system/cron/cron.php aufruft, wird die Forumsbenachrichtigung bei neuen Postings im FE nicht ausgelöst. Wenn ich probeweise den CronJob die HelpdeskNotify.php aufrufen lasse, steht im Protokoll 'You can not access this file directly!'

    Da wir uns nicht unbedingt alle 5 Minuten am BE anmelden, um die Benachrichtigungen zu triggern, frage ich mich, wie ich das mit einem CronJob wieder hinkriege. Hat früher ja auch funktioniert.

    Viele Grüße,
    Lutz
  • Spooky
    Community-Moderator
    Wandelndes Contao-Lexikon
    • 12.04.2012
    • 38811

    #2
    Zitat von LutzWinkler Beitrag anzeigen
    Obwohl wir einen Scheduler-Job eingerichtet haben, der alle 5 Minuten /system/modules/helpdesk/HelpdeskNotify.php aufruft
    Das funktioniert auf jeden Fall nicht, da diese Datei nichts ausführt, bzw. ausführen kann.


    Zitat von LutzWinkler Beitrag anzeigen
    und einen 'echten' CronJob, der alle 5 Minuten /system/cron/cron.php aufruft
    Wie sieht dieser cronjob aus?
    » sponsor me via GitHub or Revolut

    Kommentar

    • LutzWinkler
      Contao-Nutzer
      • 02.09.2009
      • 151

      #3
      siehe Screenshot:
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: cronjob.PNG
Ansichten: 1
Größe: 19,0 KB
ID: 928234

      Kommentar

      • Spooky
        Community-Moderator
        Wandelndes Contao-Lexikon
        • 12.04.2012
        • 38811

        #4
        Verwende statt dessen lieber mal "HTTP Aufruf per URL".
        » sponsor me via GitHub or Revolut

        Kommentar

        • LutzWinkler
          Contao-Nutzer
          • 02.09.2009
          • 151

          #5
          Hab ich gemacht. CronJob verweist jetzt auf http://gynamed.net/system/cron/cron.php
          HelpdeskNotification wurde nicht ausgeführt. Übrigens auch nicht, wenn ich die obige Adresse direkt im Browser eingebe (dann erscheint nur eine weiße Seite).

          Das ist das Ausgabeprotokoll des Cronjobs:
          Zuletzt ausgeführt: 24.05.2016 um 12:44

          HTTP/1.1 200 OK
          Date: Tue, 24 May 2016 10:44:06 GMT
          Server: Apache/2.4.10
          X-Powered-By: PHP/5.5.28
          Expires: Thu, 19 Nov 1981 08:52:00 GMT
          Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
          Pragma: no-cache
          Set-Cookie: PHPSESSID=82388185b42f184e2b5e12cb977be8f6; path=/; HttpOnly
          Content-Length: 0
          Connection: close
          Content-Type: text/html
          Nachtrag: Datei cron.txt wird übrigens von cron.php aktualisiert. Inhalt: 1464087120
          Zuletzt geändert von LutzWinkler; 24.05.2016, 12:54.

          Kommentar

          • Spooky
            Community-Moderator
            Wandelndes Contao-Lexikon
            • 12.04.2012
            • 38811

            #6
            Zitat von LutzWinkler Beitrag anzeigen
            (dann erscheint nur eine weiße Seite)
            Das ist normal.


            Zitat von LutzWinkler Beitrag anzeigen
            Nachtrag: Datei cron.txt wird übrigens von cron.php aktualisiert. Inhalt: 1464087120
            Dann wurde der Cron ausgeführt. Jetzt kommt es darauf an, in welchem Interval die Notifications von Helpdesk versendet werden.
            » sponsor me via GitHub or Revolut

            Kommentar

            • LutzWinkler
              Contao-Nutzer
              • 02.09.2009
              • 151

              #7
              Der Contao-Scheduler wird alle 5 Minuten ausgeführt:
              Klicke auf die Grafik für eine vergrößerte Ansicht

Name: scheduler.PNG
Ansichten: 1
Größe: 10,7 KB
ID: 928235
              Der Scheduler-Job verweist auf /system/modules/helpdesk/HelpdeskNotify.php
              Wenn ich http://gynamed.net/system/modules/he...deskNotify.php im Browser aufrufe, bekomme ich die Meldung "You can not access this file directly!"

              Kommentar

              • Spooky
                Community-Moderator
                Wandelndes Contao-Lexikon
                • 12.04.2012
                • 38811

                #8
                Zitat von LutzWinkler Beitrag anzeigen
                Der Contao-Scheduler wird alle 5 Minuten ausgeführt:
                [ATTACH=CONFIG]17759[/ATTACH]
                Da hast du mich falsch verstanden. Laut deinen Ausführungen wird der Contao Cronjob nun korrekt angestoßen. Nun hängt es davon ab, in welchem konfigurierten Interval die helpdesk Extension die Notifications verschickt. Normalerweise ist das in der config.php einer Extension definiert. In https://github.com/katgirl/contao-he...fig/config.php kann ich aber nichts davon finden.


                Zitat von LutzWinkler Beitrag anzeigen
                Der Scheduler-Job verweist auf /system/modules/helpdesk/HelpdeskNotify.php
                Wie ich hier schon erwähnt habe funktioniert das nicht. Diese Datei enthält keinen Code, der so ausgeführt werden könnte. Darüberhinaus enthält diese PHP Datei außerdem eine zusätzliche Absicherung für das direkte ausführen, wie du hier schon selbst bemerkst:
                Zitat von LutzWinkler Beitrag anzeigen
                Wenn ich http://gynamed.net/system/modules/he...deskNotify.php im Browser aufrufe, bekomme ich die Meldung "You can not access this file directly!"
                » sponsor me via GitHub or Revolut

                Kommentar

                • LutzWinkler
                  Contao-Nutzer
                  • 02.09.2009
                  • 151

                  #9
                  Welche Datei triggert denn nun den Benachrichtigung - und welche führt sie aus???
                  Meine config.php sieht übrigens genau so aus, wie die von dir verlinkte.

                  Kommentar

                  • Spooky
                    Community-Moderator
                    Wandelndes Contao-Lexikon
                    • 12.04.2012
                    • 38811

                    #10
                    HelpdeskNotifyExec.php ist die richtige Datei.
                    » sponsor me via GitHub or Revolut

                    Kommentar

                    • LutzWinkler
                      Contao-Nutzer
                      • 02.09.2009
                      • 151

                      #11
                      Habe jetzt folgende Einstellungen getestet:Die Benachrichtigungen werden nach wie vor nicht verschickt.
                      Wenn ich im Browser http://gynamed.net/system/modules/he...NotifyExec.php eingebe, werde ich zur Anmeldung im BE weitergeleitet.

                      Was ich nicht kapiere: wenn ich schon einen 'echten' CronJob habe, warum kann ich mit dem nicht direkt die Forumsbenachrichtigung anstoßen, sondern muss den 'Umweg' über den Contao-Scheduler nehmen???
                      Da die Forumsbenachrichtigung nach der Anmeldung im BE ja problemlos funktioniert, frage ich mich, ob das ganze nicht ein Rechteproblem sein könnte? Welches Skript wird denn nach der Anmeldung im BE aufgerufen?

                      Kommentar

                      • Spooky
                        Community-Moderator
                        Wandelndes Contao-Lexikon
                        • 12.04.2012
                        • 38811

                        #12
                        Was meinst du mit Contao Scheduler?
                        » sponsor me via GitHub or Revolut

                        Kommentar

                        • LutzWinkler
                          Contao-Nutzer
                          • 02.09.2009
                          • 151

                          #13
                          "Ein Cron-ähnliches Scheduler-Modul für Contao" von bugbuster/contao-cron
                          Siehe Screenshot

                          Kommentar

                          • Spooky
                            Community-Moderator
                            Wandelndes Contao-Lexikon
                            • 12.04.2012
                            • 38811

                            #14
                            Ok, das ist natürlich wiederum ganz was anderes. Soweit ich mich erinnere hat diese Erweiterung nichts mit den regulären Cronjobs von Contao zu tun. Lies' dir hierzu mal den Wiki Eintrag durch: http://de.contaowiki.org/Cron

                            Du solltest solche Dinge übrigens gleich im ersten Post genauer erwähnen
                            » sponsor me via GitHub or Revolut

                            Kommentar

                            • LutzWinkler
                              Contao-Nutzer
                              • 02.09.2009
                              • 151

                              #15
                              Die Dokus kenne ich. Die Cron-Erweiterung ist ursprünglich von Peter Koch für die Benachrichtigungsfunktionen von Forum/Helpdesk entwickelt worden. Das hat bis TL 2.7 auch prima funktioniert. Nach den letzten Updates (inzwischen TL 3.4) haben schon mehrere Contao-Fachleute (Carolina Koehn, Mark Reimann) vergeblich versucht, die Funktion wiederzubeleben.

                              Ich hab mir jetzt einen Workaround eingerichtet: auf einem Rechner, der die meiste Zeit online ist, läuft ein kleines Skript, das sich alle 5 Minuten am Backend anmeldet. Damit wird die Benachrichtigung bei neuen Forumseinträgen zuverlässig ausgelöst. Eleganter wäre es natürlich, das direkt mit einem CronJob zu machen. Nur dazu müsste ich halt wissen, welche PHP-Skripte aufgerufen werden müssen.

                              Kommentar

                              Lädt...