Ergebnis 1 bis 8 von 8

Thema: Cronjobs

  1. #1
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.094
    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
    34.442
    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.094
    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.144

    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
    34.442
    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.144

    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
    34.442
    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.144

    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


Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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