Contao-Konferenz 2024
Ergebnis 1 bis 18 von 18

Thema: Cronjobs

  1. #1
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.180
    Contao-Projekt unterstützen

    Support Contao

    Standard Cronjobs

    Irgendwie ist das an mir vorbeigegangen, jetzt wo ich meine ersten Updates auf Contao 5.3 teste ist es mir erst aufgefallen. Es gibt im Backend keine Einstellung mehr, den Web-Cronjob nach jedem Request abzustellen. Also habe ich gesucht und wurde fündig. Es wird jetzt ein echter Cronjob automatisch detektiert und damit auch der "Poor Man's Cron" deaktiviert. Deswegen wurde die Einstellmöglichkeit im Backend entfernt.

    Ich habe jetzt bei einem Kunden die Situation, dass die Zahl der verfügbaren Cronjobs zu klein ist, um für alle Contao-Installationen einen echten Cronjob zu nutzen. Bisher habe ich da in Contao 4.13 trotzdem den "Poor Man's Cron" (Command Scheduler) im Backend deaktiviert und dann eben per wget von extern per echtem Cron die _contao/cron Route aufgerufen. Das wollte ich deshalb jetzt nach dem Update auf Contao 5.3 wieder so machen. Habe jetzt allerdings keinen Plan ob und wie ich den Command Scheduler überhaupt noch manuell deaktivieren kann und ob das ggf. überhaupt noch irgendeinen Sinn macht, also eine Verbesserung gegenüber dem defaultmäßig benutzten Command Scheduler bringen würde.

    Oder wird der regelmäßige Aufruf der _contao/cron Route per wget ebenfalls automatisch erkannt wie der "echte" Cronjob mit Aufruf von
    Code:
    php /path/to/contao/vendor/bin/contao-console contao:cron
    Die uralte Einstellung in der localconfig.php ist auch beim Update auf 5.3 erhalten geblieben, aber bewirkt die jetzt in Contao 5.3 überhaupt noch was?
    PHP-Code:
    $GLOBALS['TL_CONFIG']['disableCron'] = true

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

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Ich habe jetzt bei einem Kunden die Situation, dass die Zahl der verfügbaren Cronjobs zu klein ist, um für alle Contao-Installationen einen echten Cronjob zu nutzen.
    Mach dir als Workaround einfach ein Shell Script
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.180
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ok, die Idee ist gut und sollte klappen. Außerdem habe ich gerade gesehen, dass wir bei dem Kunden mittlerweile sogar satte 5 Cronjobs haben , was früher, soweit ich mich erinnere, nicht der Fall war. Aber bewirkt der localconfig-Eintrag momentan noch das, was er früher bewirkt hat oder nicht mehr? Ist der CommandScheduler jetzt (Contao 5.3) also nur noch automatisch abschaltbar durch Erkennung des regelmäßigen Kommandozeilen-Aufrufs (durch den echten Cronjob)? Der Text auf Github lässt mich das jedenfalls vermuten. Interessiert mich halt einfach.

  4. #4
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Klinke mich hier mal ein,

    kann man den Cronjob garnicht mehr über die URL aufrufen?

    ich rufe den zwar jede Minute auf aber ausgefürt wird er nur wenn man die Website besucht
    Liebe Grüße
    WebRoxx


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

    Standard

    Doch, die /_contao/cron Route existiert auch in Contao 5 noch. Es kann aber sein, dass sich gewisse Cronjobs unter dieser Route nicht ausführen - das wäre aber auch in Contao 4.13 so.
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Doch, die /_contao/cron Route existiert auch in Contao 5 noch. Es kann aber sein, dass sich gewisse Cronjobs unter dieser Route nicht ausführen - das wäre aber auch in Contao 4.13 so.
    Okay... der aufbau ist dieser aus der Doku

    PHP-Code:
    // src/Cron/ExampleCron.php
    namespace App\Cron;

    use 
    Contao\CoreBundle\DependencyInjection\Attribute\AsCronJob;

    #[AsCronJob('hourly')]
    class ExampleCron
    {
        public function 
    __invoke()
        {
            
    // Do something …
        
    }

    Liebe Grüße
    WebRoxx


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

    Standard

    Sollte funktionieren.
    » sponsor me via GitHub or PayPal or Revolut

  8. #8
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Sollte funktionieren.
    Ja tut es auch (man sollte nur die richte dev.domain aufrufen)
    Liebe Grüße
    WebRoxx


  9. #9
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Habe gerade festgestellt das meine DB extrem groß ist weil die Tabelle "tl_message_queue" tausende einträge hat.

    hab ich was verpasst oder sollte das mit Cronjob von Contao (den man auch pber die URL anstoßen kann) nicht abgearbeitet werden?

    Die Einstellung die es mal gab mit "echten Cronjob" ist auch aus den Einstellungen verschwunden oder?
    Liebe Grüße
    WebRoxx


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

    Standard

    Vom Cronjob an sich nicht, aber es gibt einen Cronjob der den Supervisor startet, welcher wiederum die Message Worker startet welche wiederum die Messages abarbeiten sollten.

    Welche Contao Version?
    » sponsor me via GitHub or PayPal or Revolut

  11. #11
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Vom Cronjob an sich nicht, aber es gibt einen Cronjob der den Supervisor startet, welcher wiederum die Message Worker startet welche wiederum die Messages abarbeiten sollten.

    Welche Contao Version?
    die aktuelle 5.3.10

    ich hab bei meinen 3 5er seiten ein Cronjob der die URL aufruft, reicht das nicht?
    Liebe Grüße
    WebRoxx


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

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    ich hab bei meinen 3 5er seiten ein Cronjob der die URL aufruft, reicht das nicht?
    Nein, muss ein echter Cronjob sein.

    In Symfony/Contao 5.3.10 gibt es momentan einen Fehler, der die Abarbeitung der Messages verhindert, wenn man keinen echten Cronjob hat.
    » sponsor me via GitHub or PayPal or Revolut

  13. #13
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Nein, muss ein echter Cronjob sein.

    In Symfony/Contao 5.3.10 gibt es momentan einen Fehler, der die Abarbeitung der Messages verhindert, wenn man keinen echten Cronjob hat.
    okay, also brauch ich nur diese zeile ausführen php82 bin/console messenger:consume contao_prio_low bzw die anderen halt auch wie high etc

    die contao cronjob die über die url ausgeführt werden gingen doch auch per console mit contao-console contao:cron oder
    Liebe Grüße
    WebRoxx


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

    Standard

    Zitat Zitat von WebRoxx Beitrag anzeigen
    okay, also brauch ich nur diese zeile ausführen php82 bin/console messenger:consume contao_prio_low bzw die anderen halt auch wie high etc
    Einfach nur contao:cron, das sollte reichen.
    » sponsor me via GitHub or PayPal or Revolut

  15. #15
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Einfach nur contao:cron, das sollte reichen.
    ah okay, jo klapp...

    allgemeine frage, ich muss es ja über ne php datei mit exec regeln, lieber außerhalb des roots ablegen oder ist es komplett wurst

    da sparrt man sich quasi /_contao/cron aufzurufen
    Liebe Grüße
    WebRoxx


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

    Standard

    Was genau meinst du damit?
    » sponsor me via GitHub or PayPal or Revolut

  17. #17
    Alter Contao-Hase
    Registriert seit
    18.07.2012.
    Ort
    Löbau
    Beiträge
    1.150

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Was genau meinst du damit?
    aktuell rufe ich per cronjob nur domain.org/_contao/cron auf
    Liebe Grüße
    WebRoxx


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

    Standard

    Wie gesagt solltest du den echten Cronjob einrichten.
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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