[gelöst] Hook-Cron Job via Elysia läuft nur, wenn er händisch aurfgerufen wird
am 30.04.2014 - 07:28 Uhr in
Ich habe ein Modul geschrieben mit einem Hook-Cron-Job.
Darin werden ca. 5 Feeds-Imports ausgeführt mit z.B. bis zu 4000 Einträgen.
Die Imports werden in einer Schleife mit einem background-batch ausgeführt.
Wenn ich den Cron-Job aufrufe, in dem ich unter "admin/config/system/cron" auf das Button "Cron ausführen" klicke, dann wird auch dieser Job richtig ausgeführt.
Ebenso, wenn ich den Cron als nicht angemeldeter User mit cron_key von einem anderen Browser aus aufrufe.
Der Job wird aber nicht ausgeführt, wenn der Cron automatisch aufgerufen wird.
In Elysia ist eingestellt, daß dies alle 3 Stunden der Fall sein soll.
Die anderen Jobs werden beim automatischen Aufruf durchgeführt - soweit ich es beurteilen kann.
Der eigentliche Hook-Job ist mit */1 * * * * verpflegt, damit er dann immer bereit ist.
In Elysia ist der Debug-Modus eingestellt, im Watchdog steht, alle Jobs (auch der Hook) wurden gestartet und beendet.
In der Batch-Übersicht steht, daß der erste Import gestartet wurde.
Wenn alles gut durchgelaufen ist, würde hier "Processed 0 out of 1" stehen - warum auch immer.
Fehler sind nirgendwo ersichtlich, auch nicht im Apache Log.
Der Effekt tritt bei zwei verschiedenen - ähnlich strukturierten - Installationen auf, die unterschiedlich aktuell sind:
Das sind die verwendeten Versionen:
bei Installation 1:
Drupal core 7.18
Elysia 7.x-2.1
Background Process 7.x-1.14
bei Installation 2:
Drupal core 7.24
Elysia 7.x-2.1
Background Process 7.x-1.14
An welcher Stellschraube kann ich noch drehen, damit der Job auch per automatischem Cron-Lauf durchgeführt wird?
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, um den Cron job zu einer
am 30.04.2014 - 14:32 Uhr
Hi,
um den Cron job zu einer exakten Zeit zu starten,
musst Du auf dem Server im crontab Drupals cron aufrufen.
Hast Du im Elysia Install.txt Step B gelesen und das so aufgesetzt?
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Hi Robert, Die exakte Zeit
am 30.04.2014 - 15:02 Uhr
Hi Robert,
Die exakte Zeit ist nicht so wichtig.
Deswegen habe ich auch keinen Cron auf dem Server eingerichtet, sondern verwende die Einstellungen im Elysia (alle drei Stunden).
Das wird auch brav ausgeführt, wie ich an den Logs erkennen kann.
Zumindest, wenn jemand auf die seite zugreift, was häufig genug der Fall ist.
Muß ich da wirklich noch zusätzlich die Ausführung alle Minute über Server-Cron einrichten?
Könnte ich bei dem Projekt einrichten, weil ich da Zugriff auf Crontab des Servers habe.
Bei manchen Kundenprojekten habe ich das nicht, da würde ich so einen Job gerne nur über Elysia zum Laufen bekommen.
Eigentlich dachte ich, das wäre e i n e der Aufgaben von Elysia.
Die exakte Zeit für die Ausführung des einzelnen Jobs könnte ich ja auch via Elysia einstellen, nur ist die - wie gesagt - nicht so wichtig.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hallo,probier mal ob Du
am 30.04.2014 - 15:34 Uhr
Hallo,
probier mal ob Du damit genauere Meldungen bekommst:
https://drupal.org/project/cron_debug
Der poormans cron in Drupal ist nicht für Produktionsseiten geeignet.
Denn egal was Du bei Elysia eingestellt hast, dieser wird vermute ich
erst ausgeführt wenn Drupals interner Cron ausgeführt wird.
Ich würde immer extern einen Cronjob laufen lassen, das ist viel weniger fehleranfällig
und performanter, da der interne Cron Job beim Page Load eines Users ausgführt wird.
Mit einem externen Cron Job fährst Du deutlich besser.
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Ich habe für beide
am 01.05.2014 - 19:41 Uhr
Ich habe für beide Installationen den externen Cron eingerichtet und das funktioniert.
Danke, Robert für den Anstoß...
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de