Contao-Camp 2024
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 40 von 45

Thema: Frage zur Funktionsweise von Cron in Contao 4

  1. #1
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard Frage zur Funktionsweise von Cron in Contao 4

    Hallo zusammen,

    kann mir jemand erklären wie der Core Cron in Contao 4 funktioniert? Früher war es ja ein Snipped unten im fe_page Template......wie läuft das in den aktuellen Versionen? Reicht hier noch der normale Aufruf der Webseite durch einen User?

    Hintergrund ist das ich Erinnerungsmails via Notification Center zum Zeitpunkt x verschicken will.....

    VG

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Mittels echtem Cron kannst du das stündlich so aufrufen:

    Code:
    0 * * * * /usr/bin/wget -O - -q http://your-domain.de/_contao/cron

  3. #3
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Danke

    Und der Aufruf ohne echtem Cron erfolgt mit Aufruf im Frontend? Also könnte ich theoretisch auch einen stündlichen Cron machen der einfach nur die Webseite aufruft?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Danke

    Und der Aufruf ohne echtem Cron erfolgt mit Aufruf im Frontend? Also könnte ich theoretisch auch einen stündlichen Cron machen der einfach nur die Webseite aufruft?
    Ja, aber warum würdest du das so machen wollen?

  5. #5
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Weil ich bei diesem Hosting (1&1) keinen echten Cron habe

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Achso . Ja der Frontend Cron ist ohnehin by default aktiv.

  7. #7
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    OK, so wie es aussieht haben die das doch. Allerdings mag es ned so ganz :-)

    https://www.ionos.de/hilfe//?utm_ter...=search#c25005

    Hab ne SSH Verbindung via Mac Terminal aufgebaut aber der oben genannte Befehl mag dann nicht.

    Code:
    (uiserver):u6xxxxx:~$ * * * * * /usr/bin/wget -O - -q https://jagdbildungszentrum.de/_contao/cron
    -bash: eulena: command not found
    Sorry auf der Konsole bin ich ein totaler Noob

  8. #8
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du musst zunächst mal crontab -e ausführen.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  9. #9
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    ahhhh ;-)

    Hab jetzt die Zeile eingefügt. Mit crontab -l steht er jetzt auch drin.
    Code:
    # Edit this file to introduce tasks to be run by cron.
    # 
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    # 
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use '*' in these fields (for 'any').# 
    # Notice that tasks will be started based on the cron's system
    # daemon's notion of time and timezones.
    # 
    # Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    # 
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    # 
    # For more information see the manual pages of crontab(5) and cron(8)
    # 
    # m h  dom mon dow   command
    * * * * * /usr/bin/wget -O - -q https://jagdbildungszentrum.de/_contao/cron

    Wie sehe ich ob er funktioniert? Diese Verzeichnisse var/spool/cron gibts bei mir ned.

    Log-Dateien

    Alle Aktionen, die von Cron ausgeführt werden, werden in der Datei $CRON_LOG_FILE protokolliert. Diese Datei befindet sich in den meisten Fällen im Verzeichnis /var/spool/cron.
    Geändert von Kahmoon (06.02.2019 um 12:33 Uhr)

  10. #10
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Sehe gerade noch einen Hinweis in der Crontab Datei.

    Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    Wie sehe ich was dort hinterlegt ist?

  11. #11
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Ahoi,

    füge dem CronJob ein MAILTO=name@domain.tld hinzu, also in Deinem Fall:
    Code:
    # ...
    # m h  dom mon dow   command
    MAILTO=name@domain.tld
    * * * * * /usr/bin/wget -O - -q https://jagdbildungszentrum.de/_contao/cron
    Dan wird an diese Mail-Adresse eine Mail verschickt.
    Geändert von Stefko (06.02.2019 um 13:55 Uhr)
    Grüße, Stefko

  12. #12
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Habs eingetragen. Muss man das dann noch irgendwie starten oder so? Es kommen bisher keine Mails. Cronjob müsste mit diesen Einstellungen eigentlich minütlich laufen.

    Code:
    # Edit this file to introduce tasks to be run by cron.
    # 
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    # 
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use '*' in these fields (for 'any').# 
    # Notice that tasks will be started based on the cron's system
    # daemon's notion of time and timezones.
    # 
    # Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    # 
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    # 
    # For more information see the manual pages of crontab(5) and cron(8)
    # 
    # m h  dom mon dow   command
    MAILTO=webmaster@xxx.de
    * * * * * /usr/bin/wget -O - -q https://jagdbildungszentrum.de/_contao/cron

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Mails bekommst du vermutlich nur dann, wenn der Cron eine Ausgabe produziert, bspw. im Falle eines Fehlers.

  14. #14
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    ok, ich verändere Testhalber mal den Pfad wodurch er auf Fehler laufen müsste.

  15. #15
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Also auch mit einer bewusst falschen URL kommt keine Mail. Ich mach es jetzt via Frontend Cron und gut is ;-)

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Also auch mit einer bewusst falschen URL kommt keine Mail. Ich mach es jetzt via Frontend Cron und gut is ;-)
    Warum? Die andere Lösung ist doch viel besser. Ob der cron funktioniert oder nicht siehst du ja im System Log.

  17. #17
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    mein var/logs/ Verzeichnis ist leider komplett leer, nachdem ich da vor ein paar Tagen mal die alten Logs gelöscht habe.

  18. #18
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Nein, dein System Log im Backend

  19. #19
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Da steht nichts von Cron. Die ersten 4 Einträge kommen von Änderungen in Terminen. Der um 0 Uhr ist der Frontend Cron

    [07.02.2019 09:45] Generated sitemap "sitemap.xml"
    [07.02.2019 09:44] Generated sitemap "sitemap.xml"
    [07.02.2019 09:35] Generated sitemap "sitemap.xml"
    [07.02.2019 09:35] Generated sitemap "sitemap.xml"
    [07.02.2019 00:00] A total number of 1 event reminders have been sent
    [07.02.2019 00:00] Generated sitemap "sitemap.xml"
    [07.02.2019 00:00] Purged the search cache
    [07.02.2019 00:00] Purged the temp folder

    Der Cron müsste aber mit den folgenden Settings minütlich laufen

    Code:
    * * * * * /usr/bin/wget -O - -q https://jagdbildungszentrum.de/_contao/cron
    Geändert von Kahmoon (07.02.2019 um 09:51 Uhr)

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Oben kannst du nach "Kategorie" » "CRON" filtern.

  21. #21
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Das ist bereits die Ausgabe mit Filter "CRON"
    Angehängte Grafiken Angehängte Grafiken

  22. #22
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Genau. Und wenn du nun den Frontend Cron deaktivierst und trotzdem weiterhin all diese Einträge im System Log bekommst, weißt du, dass der echte Cron funktioniert

  23. #23
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    OK, also er erzeugt nicht eigenständige Einträge. Danach habe ich gesucht. Würde eigentlich den generellen Cron ungern deaktivieren. Hätte nur einen Bestimmten zusätzlich zu einer gewissen Uhrzeit. Ich teste das mal.

    Danke

  24. #24
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Wie meinst du das? Warum den generellen Cron deaktivieren? Das was du machen willst ist genau das, was man machen soll. Der "Frontend Cron" von Contao ist nur ein "poor man's cron" - also für Leute, die keinen echten Cron einrichten können.

  25. #25
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    Ja, aber da ich nicht wirklich verifizieren kann das mein "Rich-Mans-Cron" auf wirklich funzt, ist mir das zu heikel. Es kommen keine Mails bei bewusst eingebauten Fehlern...im Log hatte ich bis dato nix gesehen (werde ich aber dank deiner Info noch testen) etc. Das gibt mir in Summe kein gutes Gefühl

  26. #26
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.935

    Standard

    Edit: Thread nicht weit genug gelesen (also mittlerweile hinfällig)

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Weil ich bei diesem Hosting (1&1) keinen echten Cron habe
    Ich bin mir nicht sicher, ob das stimmt. Das https://www.ionos.de/hilfe/hosting/c...njobs-anlegen/ habe ich selbst bei meinen kleinen uralten Paketen. Ist nur gut versteckt.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  27. #27
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Zitat Zitat von Kahmoon Beitrag anzeigen
    Ja, aber da ich nicht wirklich verifizieren kann das mein "Rich-Mans-Cron" auf wirklich funzt, ist mir das zu heikel. Es kommen keine Mails bei bewusst eingebauten Fehlern...im Log hatte ich bis dato nix gesehen (werde ich aber dank deiner Info noch testen) etc. Das gibt mir in Summe kein gutes Gefühl
    Du kannst dir ja einen minutely Cron einrichten, der einen Log Eintrag erzeugt.

  28. #28
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Ich muss das Thema noch mal hochholen.

    ich bin hier auf einem lokalen Xampp und habe probleme damit das das Notification Center mir eine Erinnerungsmail vom modul "codefog/contao-events_subscriptions" schickt.

    Ich habe eingestellt das er mir 1 Tag bevor das Event stattfindet um 11:30 eine Erinnerung schickt. Ich habe dann um 11:30 Uhr die Website im Frontend aufgerufen um den internen Cron zu pushen -> Ergebnis nix.

    Danach habe ich via Command

    Code:
    wget -O - -q https://meinedomain/_contao/cron
    Ausgeführt

    Der Command zeigt aber keine Rückmeldung

    dann habe ich mal:

    Code:
     wget https://domain/_contao/cron
    
    Output:
    
    --2019-10-18 11:46:09-- https://domain/_contao/cron
    Connecting to 172.X.X.X:X... connected.
    Proxy request sent, awaiting response... 200 OK
    Length: 0 [text/html]
    Saving to: 'cron.3'
    
    cron.3
    Aber im Log etc erhalte ich keine Meldung wie z.B. "A total number of 1 event reminders have been sent"

    Auch kommt keine E-Mail an...

  29. #29
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Vielleicht können @Spooky oder @Kahmoon was dazu sagen?


    Ich habe auch gerade nochmal in der Datenbank nachgeschaut:

    unter

    tl_calendar_events_subscription

    steht bei "lastReminder" nur "0"

    im tl_nc_queue ist gar nix hinterlegt

    (ich dachte ja das ggf. die Einnerung getriggert wird und nur irgendwo feststeckt.
    Geändert von Acta (18.10.2019 um 12:14 Uhr)

  30. #30
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Der Command zeigt aber keine Rückmeldung
    Soll er ja auch nicht

  31. #31
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Soll er ja auch nicht
    Wie kann ich den schauen ob das überhaupt irgendwas tut? Also ob der Cron überhaupt anspringt?

  32. #32
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Das musst du in deinem Cron machen. Bspw. ein Log Eintrag.

  33. #33
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Bisher habe ich lediglich den CMD von Windows geöffnet und den wget (ist installiert) ausgeführt.

    Kann ich dem cmd auch was anderes mitgeben?

    Bisher habe ich immer den Taskmanager genutzt und dem gesagt er soll xy.php aufrufen.

    Hab kein plan wie das hier jetzt gehen soll.

  34. #34
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Ich verstehe die Frage nicht ganz. Was genau willst du erreichen?

  35. #35
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ich verstehe die Frage nicht ganz. Was genau willst du erreichen?
    Ich vermute, er möchte wissen wie er einen Cron erzeugt, der einen Logeintrag hinterlässt.

    Also zB.
    Code:
    wget -O - -q https://domain.tld/_contao/cron && date >> CronJobs.txt
    dies erzeugt im Server-Root bei der ersten Ausführung eine Datei "CronJobs.txt" und fügt dann immer Uhrzeit/Datum einer weiteren Ausführung hinzu. Also ganz gut um zu testen, ob der Cron tatsächlich aufgerufen wird.
    Geändert von Stefko (18.10.2019 um 13:16 Uhr)
    Grüße, Stefko

  36. #36
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Zitat Zitat von Stefko Beitrag anzeigen
    Ich vermute, er möchte wissen wie er einen Cron erzeugt, der einen Logeintrag hinterlässt.

    Also zB.
    Code:
    wget -O - -q https://domain.tld/_contao/cron && date >> CronJobs.txt
    dies erzeugt im Server-Root bei der ersten Ausführung eine Datei "CronJobs.txt" und fügt dann immer Uhrzeit/Datum einer weiteren Ausführung hinzu. Also ganz gut um zu testen, ob der Cron tatsächlich aufgerufen wird.
    DAs gute ist... das Schreiben des Logfiles funktioniert ! Kann man das ganze noch mit Uhrzeit versehen?

    Also Datum und Uhrzeit?

  37. #37
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Wann der Cron zum letzten mal ausgeführt wurde siehst du ansonsten auch anhand der tl_cron Tabelle.

  38. #38
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.487

    Standard

    Okay... also ... das Aufrufen des Crons funktioniert ohne Probelme. Im "Last-Run" steht auch die Aktuelle Zeit..

    Nur erhalte ich keine Erinnerungs-Emails vom Modul codefog/contao-events_subscriptions

    In den Einstellungen des Kalenders habe ich eingestellt das die Erinnerung 1,2,3,4,5,6,7,8 Tage vorher kommen sollen.

    Der Termin ist am 25.10. -> in den Einstellungen ist für 10:15 Uhr der Versand der Einnerungen hinterlegt.

    Trotz Cron-Job (20 Sekunden) kommen keine Erinnerungen -> im Feld "last-Reminder" in der tl_calender_events_subscriptions steht nur "0".

    Hat hier jemand Erfahrung?

  39. #39
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Das sollte wohl besser in einen eigenen Thread.

  40. #40
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.892
    Partner-ID
    10107

    Standard

    Zitat Zitat von Acta Beitrag anzeigen
    Trotz Cron-Job (20 Sekunden)
    Was meinst du mit 20 Sekunden?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •