• Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Cron-Job Ausführung

    Fragen
    4
    20
    3.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andrej
      last edited by

      Hallo zusammen,
      ich habe gelesen, dass der Cron-Job nur ausgeführt wird, wenn man sich auf der Seite bewegt. Da wir aktuell noch nicht viel mit CT arbeiten, ist dies für uns in der Regel nicht ausreichend, da wichtige Mails zu spät versendet werden.
      Ist es möglich die Cron-Jobs nach einem Zeitplan auszuführen? Zum Beispiel mindestens 1x pro Tag am Ende des Tages?

      CT 3.x gehosted
      Freie evangelische Gemeinde (FeG)

      miluxM 1 Reply Last reply Reply Quote 0
      • davidschillingD
        davidschilling ChurchToolsMitarbeiter
        last edited by

        @Andrej

        Wir haben das Problem auf dem Schirm und werden es demnächst für Hostingkunden lösen.
        Selfhostingkunden müssen sich selbst einen Cronjob einrichten.

        Wenn du nicht auf uns warten willst kannst du selbst den Cronjob bei euch regelmäßig triggern. Z.B. so:

        curl -v 'https://$INSTANZNAME.churchtools.de/?q=cron&manual=true'

        1 Reply Last reply Reply Quote 0
        • miluxM
          milux @Andrej
          last edited by

          @Andrej Ich würde dir empfehlen, den Cronjob entweder von deinem Hosting-Provider ausführen zu lassen, oder bei https://cron-job.org/ einfach einen kostenlosen Account zu erstellen.
          Die URL hat dir @davidschilling ja schon gesagt?

          @davidschilling Was macht eigentlich der "Cronjob", der mit jedem Seitenaufruf gestartet wird? Der mit "standby=true"?

          Auto-Updater (Co-)Developer, ctldap Developer
          ChurchTools Version: 3.x latest (Auto-Updater)
          Hosting: PHP 8.1 (via FPM, Apache 2.4 mit nginx Reverse Proxy)

          1 Reply Last reply Reply Quote 0
          • davidschillingD
            davidschilling ChurchToolsMitarbeiter
            last edited by

            Das ist schon der normale Cronjob, der wird einmal pro Stunde ausgeführt. Kann aber in den Admineinstellungen geändert werden. manual=true sorgt dafür, dass er sicher ausgeführt wird.

            1 Reply Last reply Reply Quote 0
            • miluxM
              milux
              last edited by

              Wieso hat @Andrej dann diese Probleme?
              @Andrej Gibt es so wenig Nutzer bei euch, dass die Seite nicht 1x pro Tag aufgerufen wird?

              @davidschilling: Verstehe ich dass dann richtig, dass der "Cronjob" der als PNG geladen wird zwar immer aufgerufen wird, aber nur 3600 s nach der letzten Ausführung tatsächlich was tut?
              Wenn das normale Verhalten sowieso so ist, warum braucht man dieses Standby-Flag?

              Auto-Updater (Co-)Developer, ctldap Developer
              ChurchTools Version: 3.x latest (Auto-Updater)
              Hosting: PHP 8.1 (via FPM, Apache 2.4 mit nginx Reverse Proxy)

              1 Reply Last reply Reply Quote 0
              • davidschillingD
                davidschilling ChurchToolsMitarbeiter
                last edited by

                @milux

                Der Cronjob wird bei jedem laden der Seite aufgerufen aber nur einmal pro Stunde auch wirklich ausgeführt, abhängig davon wie man das eingestellt hat.

                Bei kleineren Gemeinden oder ChurchTools Installationen kommt es schonmal vor, dass sich einen ganzen Tag niemand einloggt.

                miluxM 1 Reply Last reply Reply Quote 0
                • miluxM
                  milux @davidschilling
                  last edited by

                  @davidschilling Danke, so hatte ich es erwartet. Magst du bitte noch meine letzte Frage beantworten, würde mich interessieren?

                  Auto-Updater (Co-)Developer, ctldap Developer
                  ChurchTools Version: 3.x latest (Auto-Updater)
                  Hosting: PHP 8.1 (via FPM, Apache 2.4 mit nginx Reverse Proxy)

                  1 Reply Last reply Reply Quote 0
                  • davidschillingD
                    davidschilling ChurchToolsMitarbeiter
                    last edited by

                    @milux Weiß ich auch nicht genau.

                    1 Reply Last reply Reply Quote 0
                    • davidschillingD
                      davidschilling ChurchToolsMitarbeiter
                      last edited by

                      @milux

                      Hast du viel Erfahrung mit https://cron-job.org?
                      Ich hab das gerade mal getestet und festgestellt, dass er bei längeren Antwortzeiten Probleme gibt.
                      Nutzt du das für eure ChurchTools Instanz?

                      Es geht mir dabei nur für eine Dokumentation für Selfhoster.

                      1 Reply Last reply Reply Quote 0
                      • miluxM
                        milux
                        last edited by

                        Wir haben es mal getestet, es erschien uns zuverlässig.
                        Derzeit verwenden wir die Cronjobs von ALL-INKL. Es ergibt einfach mehr Sinn, Provider-eigene Jobs zu verwenden, wenn sie verfügbar sind.

                        Welcher Natur sind diese Probleme genau, und welche Antwortzeiten meinst du? Beziehst du dich auf die Geschwindigkeit des Servers, der CT hostet?

                        Auto-Updater (Co-)Developer, ctldap Developer
                        ChurchTools Version: 3.x latest (Auto-Updater)
                        Hosting: PHP 8.1 (via FPM, Apache 2.4 mit nginx Reverse Proxy)

                        1 Reply Last reply Reply Quote 0
                        • davidschillingD
                          davidschilling ChurchToolsMitarbeiter
                          last edited by

                          @milux

                          Klar wenn der Provider selbst so etwas anbietet macht es Sinn das zu benutzen.
                          Es geht um die Antwortzeit des Servers. Beim Cron kann das mal ein paar Sekunden dauern und https://cron-job.org Deaktiviert Jobs nach 5 fehlgeschlagenen Versuchen. Und fehlgeschlagen bedeutet bei denen auch länger als x Sekunden die man nicht selbst konfigurieren kann. Zumindest konnte ich nicht herausfinden wo man das konfiguriert.

                          miluxM 1 Reply Last reply Reply Quote 0
                          • miluxM
                            milux @davidschilling
                            last edited by

                            @davidschilling
                            Nun, laut dem FAQ gibt es ein Zeitlimit von 30 Sekunden, und eine Deaktivierung tritt nach 15 Fehlschlägen auf.
                            Haben gewöhnliche Self-Hosting-Kunden bei Ausführung des Cronjobs regelmäßig Laufzeiten über 30 Sekunden? 15 mal hintereinander? 😕
                            Die 1024-Byte-Beschränkung könnte ein Problem sein. Wäre vielleicht nicht schlecht, eine Aufruf-Variante ohne Header/Footer zur Verfügung zu stellen, um die Ausgabe des Cronjobs ein wenig abzuspecken.
                            Ansonsten gibt es diverse Techniken, mit denen man PHP-Skripte so ausführen kann, dass sie auch bei geschlossener Verbindung weiter arbeiten. Man kann sogar selbst die Verbindung zum Client beenden und im Hintergrund die Jobs abarbeiten, die Klassiker findet man hier in der Kommentar-Sektion: https://secure.php.net/manual/en/features.connection-handling.php

                            Auto-Updater (Co-)Developer, ctldap Developer
                            ChurchTools Version: 3.x latest (Auto-Updater)
                            Hosting: PHP 8.1 (via FPM, Apache 2.4 mit nginx Reverse Proxy)

                            1 Reply Last reply Reply Quote 0
                            • davidschillingD
                              davidschilling ChurchToolsMitarbeiter
                              last edited by

                              Seit dem Umzug auf die neue Serverinfrastruktur wird jetzt bei jeder Instanz die bei uns gehostet ist der Cronjob einmal pro Stunde ausgeführt.

                              miluxM 1 Reply Last reply Reply Quote 0
                              • miluxM
                                milux @davidschilling
                                last edited by

                                @davidschilling Gute Sache, aber was ist mit den Self-Hostern?
                                Ich dachte der Plan war, für sie einen Leitfaden zur Einrichtung eines geeigneten Cronjobs zu erstellen, oder habe ich das falsch verstanden?

                                Auto-Updater (Co-)Developer, ctldap Developer
                                ChurchTools Version: 3.x latest (Auto-Updater)
                                Hosting: PHP 8.1 (via FPM, Apache 2.4 mit nginx Reverse Proxy)

                                1 Reply Last reply Reply Quote 0
                                • davidschillingD
                                  davidschilling ChurchToolsMitarbeiter
                                  last edited by

                                  @milux Dokumentation dafür gibt es hier: https://intern.church.tools/?q=churchwiki#WikiView/filterWikicategory_id:0/doc:Cron-Job/

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    steav
                                    last edited by

                                    Hallo @davidschilling
                                    die Möglichkeit für Selfhoster, den Cronjob via CLI auszuführen, funktioniert nicht mehr (seit ca. 3.30.0). Cronjob via HTTP ist für uns nicht möglich, da unsere CT Instanzen nicht ohne weitere Authentifizierung im Internet erreichbar sind. Die folgende Fehlermeldung wird für cron.php sowie nur für jede CT-PHP-Datei ausgeben.

                                    web@f0c4b64973a4:/var/www/html# php /var/www/html/system/local/cron.php
                                    
                                        
                                            Method not allowed
                                            
                                        
                                        
                                            Method not allowed
                                            Method not allowed. Must be one of: GET, POST, PUT, PATCH, DELETE, OPTIONS
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • davidschillingD
                                      davidschilling ChurchToolsMitarbeiter
                                      last edited by

                                      @steav Welche Art der Authentifizierung benutzt ihr noch zusätzlich? Basic Auth lässt sich z.B. einfach in die Url integrieren.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        steav @davidschilling
                                        last edited by

                                        @davidschilling
                                        Danke für die schnelle Antwort. Nein, kein Basic Auth; wir verwenden CT als Nextcloud-App, haben einen Wrapper erstellt. Ohne Nextcloud-Login erreicht man die CT Instanz prinzipiell nicht.
                                        Daher wäre es super, wenn die in den Docs beschriebene CLI-Ausführung wieder funktionieren würde.

                                        1 Reply Last reply Reply Quote 0
                                        • davidschillingD
                                          davidschilling ChurchToolsMitarbeiter
                                          last edited by

                                          @steav Ich kenne nextcloud jetzt nicht besonders gut, aber es könnte trotzdem basic auth sein, dass da benutz wird.

                                          Wie lautet denn die URL zu eurer Installation?

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            steav
                                            last edited by

                                            Unabhängig davon ob es Basic Auth ist (was es ws. nicht der Fall ist), würden wir dennoch die saubere Lösung via lokalem Cronjob bevorzugen, da wir in unserem Gemeindenetzwerk immer mehr Instanzen hosten (jede mit eigenem Key natürlich). Jede davon läuft als eigene VM mit jeweils 5min Cronjob, welcher aktuell nicht funktioniert.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post