Contao-Camp 2024
Ergebnis 1 bis 29 von 29

Thema: Eigener Cronjob

  1. #1
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard Eigener Cronjob

    Hallo,
    in den Einstellungen bei Contao 4.4.x finde ich den Eintrag
    Den Command-Scheduler deaktivieren
    Den Periodic Command Scheduler deaktivieren und die _contao/cron-Route mittels eines echten Cronjobs (den Sie selbst einrichten müssen) ausführen.
    Früher im 3.5 gab es ja eine cron.php, die man per
    aufrufen konnte.

    Aber was muss ich jetzt in 4.4.x per Cronjob aufrufen?

    Ich hoffe, jemand hat einen Tipp für mich

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Direkt wäre dann so wie es da steht:
    Code:
    http://domain.de/_contao/cron
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Gibts nicht was über vendor/bin contao-console? ich würde das gerne über php statt wget aufrufen.

    Alle meine Erweiterungen die auf PHP_SAPI === 'cli' prüfen laufen deswegen nicht mehr. Sieht halt wie nen normaler Aufruf aus.
    Geändert von Tastaturberuf (25.10.2017 um 15:38 Uhr)
    Tastaturberuf | Code with ♥ and Contao.

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

    Standard

    Das müsstest du in Contao 4 auf Symfony Commands umschreiben.

  5. #5
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Während der Wartung funktioniert der Cronjob auch nicht wegen Status 503.

    Wer hat sich den Bullshit einfallen lassen?
    Geändert von Tastaturberuf (26.10.2017 um 14:09 Uhr)
    Tastaturberuf | Code with ♥ and Contao.

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

    Standard

    Warum ist das Bullshit?

    Während du eine Wartung durchfürhst kann sowieso auch nicht garantiert werden, dass dein Symfony Command oder dein Cron Job fehlerfrei läuft.

  7. #7
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Warum ist das Bullshit?

    Während du eine Wartung durchfürhst kann sowieso auch nicht garantiert werden, dass dein Symfony Command oder dein Cron Job fehlerfrei läuft.
    Weil nen Cronjob nichts im/bzw. übers Frontend zu suchen hat.

    Das kommt wohl gänzlich auf die Art der Wartung an. Das lässt sich pauschal nicht sagen.

    Ich bau jetzt einfach nen neuen Entry-Point als PHP-Datei.
    Tastaturberuf | Code with ♥ and Contao.

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

    Standard

    Zitat Zitat von Tastaturberuf Beitrag anzeigen
    Weil nen Cronjob nichts im/bzw. übers Frontend zu suchen hat.
    Das lässt sich nicht pauschal sagen. Ein Cronjob könnte genau so Informationen benötigen, die ansonsten nur im Request vorhanden sind. Wobei man in Symfony den Request Context auch anderweitig definieren könnte: https://symfony.com/doc/current/cons...t_context.html


    Zitat Zitat von Tastaturberuf Beitrag anzeigen
    Ich bau jetzt einfach nen neuen Entry-Point als PHP-Datei.
    Ich würde einfach einen Command dafür machen (CronCommand).

  9. #9
    Contao-Fan Avatar von syncgw
    Registriert seit
    17.07.2012.
    Beiträge
    313

    Standard

    Ei da hab ich den cron Job definiert und mein Plesk ist wenig begeistert von dem Return-Code:

    Code:
    Url 'https://www.syncgw.com/_contao/cron' fetched
    Status: 204
    Output:
    Code:
    Geben Sie eine absolute URL an, wie z. B. http://beispiel.com. Wenn der Antwortstatuscode 200 lautet, betrachtet Plesk die Aufgabenausführung als erfolgreich.
    Warum gibt es kein 200 Return-Code?
    __________________________________________
    Live long and prosper
    Florian

    Spenden GitHub

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

    Standard

    Weil die /_contao/cron Route keinen Output liefert » Status Code 204.

  11. #11
    Contao-Fan Avatar von syncgw
    Registriert seit
    17.07.2012.
    Beiträge
    313

    Standard

    Danke für die Antwort :-)

    Fragt sich nur, ob das so eine feine Sache ist, alle Plesk-User auszuschließen (die extra Geld dafür bezahlt haben eigene CRON Jobs aufrufen zu dürfen)...

    Gibt es eine Chance das Skript am Ende der Route direkt aufzurufen?
    Oder vielleicht ein Wrapper-PHP, dass dann 200 zurück liefern kann?
    __________________________________________
    Live long and prosper
    Florian

    Spenden GitHub

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

    Standard

    In wie fern werden Plesk User augeschlossen? Du kannst ja genau so gut wget oder curl stattdessen verwenden.

    Darüberhinaus solltest du das als Plesk Kunde an Plesk melden, ist ja deren Fehler, nicht ein Fehler von Contao

  13. #13
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von BugBuster Beitrag anzeigen
    Direkt wäre dann so wie es da steht:
    Code:
    http://domain.de/_contao/cron
    wie kann ich denn diesen code mittels einer php-datei aufrufen? ich frage deshalb, weil meine (echten) cronjobs idealerweise die endung .php haben sollten, damit ich sie in der verwaltung bei all-inkl.com definieren kann. und führt dieser cronjob dann alle notwendigen arbeiten regelmäßig aus, die nötig sind, um die installation aufgeräumt und stabil zu halten, so dass ich den "poor man's cron" nicht brauche?
    in welchen abständen sollte ich den o.g. cronjob dann aufrufen?
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  14. #14
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Guten Morgen

    ich frage deshalb, weil meine (echten) cronjobs idealerweise die endung .php haben sollten, damit ich sie in der verwaltung bei all-inkl.com definieren kann
    Du musst bei All-inkl für den Cron-Aufruf keine PHP Datei angeben. Wähle einfach das Protokoll (HTTP/HTTPS) aus und ergänze den Pfad für den Cron Entrypoint bei Contao:
    https://domain.tld/_contao/cron
    (siehe auch Screenshot)

    Das Intervall hängt davon ab, was für Aufgaben du von dem Cronjob erledigen lassen willst. Erfahrungsgemäß reicht ein Aufruf alle 15 Minuten oder auch nur alle Stunde aus.
    Ich hatte auch Projekte wo in kürzeren Abständen Daten aufbereitet werden mussten, da habe ich den Intervall dann entsprechend auf 1 oder 5 Minuten gesetzt.

    Ich hoffe das bringt dich weiter.

    Bildschirmfoto 2019-11-19 um 08.08.57.png

  15. #15
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    Contao-Projekt unterstützen

    Support Contao

    Standard gelöst!

    hallo, arno! danke für diese klare und unmissverständliche anleitung! ich hatte immer gedacht, ich müsste unbedingt ein php-script aufrufen und wusste nicht, dass das auch so geht, wie du es beschrieben hast. bugbuster hatte ja bereits in einem anderen thread diese cron-route angegeben, aber ich war eben total verunsichert. jetzt ist mir alles klar. das intervall werde ich mal auf ne stunde setzen. kann ich irgendwo nachlesen, welche aufgaben dieser cronjob beim aufruf alle erledigt?
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

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

    Standard

    Zitat Zitat von grashalm Beitrag anzeigen
    kann ich irgendwo nachlesen, welche aufgaben dieser cronjob beim aufruf alle erledigt?
    https://docs.contao.org/dev/framework/cron/

  17. #17
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    Contao-Projekt unterstützen

    Support Contao

    Standard

    danke, spooky!

    löscht der cronjob auch die vom system errechneten und bereitgestellten bildergrößen? wenn nicht, sollte ich das machen lassen?
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

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

    Standard

    Nein, das war früher mal so, wenn ich mich richtig erinnere. Warum willst du die löschen?

  19. #19
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich will das nicht unbedingt -
    ich dachte, es wäre sinnvoll, den bildercache mit den errechneten thumbnail-bildergrößen von zeit zu zeit löschen zu lassen.
    aber wenn das weder sinnvoll noch nötig ist: umso besser! (kenne mich zu wenig damit aus )
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

  20. #20
    Contao-Fan
    Registriert seit
    27.11.2009.
    Beiträge
    326

    Standard

    Möchte mich hier nochmal dranhängen.

    Ich versuche (auch), über Plesk & die URL _contao/cron die über Contao (TL_CRON) definierten Jobs ausführen zu lassen. (Command Scheduler ist deaktiviert)

    Leider passiert bei mir aber gar nichts (mehr). Es werden weder die systemeigenen (zumindest gibt es keine Log-Einträge dafür) noch meine definierten Jobs ausgeführt.

    Der Plesk-Aufruf wird stündlich ausgeführt und liefert Status 200 zurück.

    Die beschriebenen Plesk-Probleme habe ich ehrlich gesagt nicht verstanden.

    Vielleicht hat ja jemand eine Idee, warum 'gar nichts' passiert?!. Muss ich noch etwas in Contao einstellen? Danke.

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

    Standard

    Zitat Zitat von tlnewbie Beitrag anzeigen
    Der Plesk-Aufruf wird stündlich ausgeführt und liefert Status 200 zurück.
    Status der _contao/cron Route ist 204.

  22. #22
    Contao-Fan
    Registriert seit
    27.11.2009.
    Beiträge
    326

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Status der _contao/cron Route ist 204.
    Und was bedeutet das? Das habe ich eben nicht verstanden. Dass es mit dieser Route in Kombination mit Plesk nicht funktioniert?

    Ich hatte auch schon versucht, meine eigenen Jobs mit wget als php-Datei aufzurufen, aber das ging auch nicht. Die Datei müsste dann im /web-Verzeichnis (z.B. über assets/meinBundle) liegen?

    Danke..
    Geändert von tlnewbie (27.02.2020 um 09:51 Uhr)

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

    Standard

    Poste mal einen Link zur Seite.

  24. #24
    Contao-Fan
    Registriert seit
    27.11.2009.
    Beiträge
    326

    Standard

    Sorry für die späte Antwort.

    Habe das Cron-Bundle installiert. Die Abarbeitung dieser Jobs rufe ich nun per Server-Cron auf. Die übrigen Contao-eigenen Crons laufen herkömmlich (Poor-Man-Cron). So funktioniert es nun. Ist zwar ein bisschen umständlich, aber egal. Vielleicht habe ich auch vorher irgendwas falsch eingestellt.

  25. #25
    Contao-Nutzer
    Registriert seit
    25.12.2011.
    Beiträge
    77

    Standard

    Funktionieren die Cronjobs in 4.4 noch so wie hier erklärt?
    https://docs.contao.org/books/cookbo...in-Contao.html

    Ich frage, weil ich die /system/cron/cron.php nicht finde.

  26. #26
    Contao-Fan Avatar von Arno
    Registriert seit
    11.12.2009.
    Ort
    Potsdam-Babelsberg
    Beiträge
    290

    Standard

    Schau bitte unter folgendem Link, da wird das Vorgehen für Contao 4 beschrieben:

    https://docs.contao.org/dev/framework/cron/

  27. #27
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    Contao-Projekt unterstützen

    Support Contao

    Standard Stammverzeichnis in "contao-x" geändert

    Liebe Community,

    ich greife diesen Thread noch mal auf, weil sich für mich noch eine Frage ergeben hat:

    Zitat Zitat von Arno Beitrag anzeigen

    Du musst bei All-inkl für den Cron-Aufruf keine PHP Datei angeben. Wähle einfach das Protokoll (HTTP/HTTPS) aus und ergänze den Pfad für den Cron Entrypoint bei Contao:
    https://domain.tld/_contao/cron
    Mittlerweile habe ich meine Installation von Contao nicht mehr im Ordner "contao" im Root-Verzeichnis, sondern im Ordner "contao-x" im Root-Verzeichnis. Muss ich daher den Aufruf des Cronbjobs in https://domain.tld/_contao-x/cron ändern?

    Vielen Dank für einen kurzen Hinweis,

    grashalm
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

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

    Standard

    Nein, /_contao/cron ist eine Route, kein physisches Verzeichnis.
    » sponsor me via GitHub or PayPal or Revolut

  29. #29
    Contao-Fan Avatar von grashalm
    Registriert seit
    17.06.2010.
    Ort
    Mainz
    Beiträge
    260
    Contao-Projekt unterstützen

    Support Contao

    Computer gelöst

    Danke für Deinen Hinweis, spooky!
    wie gut, dass es contao gibt! wie gut, dass es spooky und euch alle gibt!

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
  •