Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Feeds-Import mit cron-Hook via Konsole - Authentifizierung?

Eingetragen von montviso (2188)
am 20.03.2013 - 09:45 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x oder neuer

Ich habe Feeds, die ich automatisch mit einem eigenen Modul via Cron ausführen lasse.
Rufe ich den Cron aus der Webseite auf, funktioniert das prima.

Ich verwende Elysia-Cron und der Feeds-Import-Hook läuft auch bei einem Aufruf aus Elysia raus fehlerfrei.

Ziel ist allerdings, den Cron über einen cron-Job 1x nachts laufen zu lassen.

Führe ich den Cron via Konsole aus, steht ein Fehler im Protokoll, allerdings nur mit diesem Hook, alle anderen Cron-Aufgaben werden gelöst.
Unexpected termination of cron channel default, aborted. Last job executed: feedsimport_cron

Zuerst habe ich ein Timeout-Problem vermutet, aber das schließe ich aus, weil der Fehler beim Testen auch mit einem winzigen Feed passiert (20 Nodes).
Außerdem müßte das Problem dann ja auch auf der Webseite auftreten.

Das Problem hängt eindeutig mit dem Batch-Aufruf zusammen:
batch_set($batch);
Kommentiere ich diese Zeile im Modul aus, dann läuft der Cron fehlerfrei (passiert halt nichts).

Ich vermute ein Rechteproblem, weil nur angemeldete User den Feeds-Import ausführen dürfen.

Nur wie beseitige ich das unter Drupal 7?

Die Vorschläge hier:
http://drupal.org/node/23714
habe ich alle durchgesehen und die diversen Script wie drupal.sh und drupal-lynx.sh getestet.
Den Aufruf habe ich jeweils mit cron.php?cron_key=MYKEY gemacht.

Auf der Seite steht ja auch ausdrücklich, daß der Workarround von http://drupal.org/node/479948#comment-1673488 nur unter Drupal 6 läuft.
Note that as of Drupal 7, cron always runs as an anonymous user, so this will not work in Drupal 7 and later versions!

OK, also sollte ich wohl im Hook sagen, daß der Batch unter Administrator-Rechten laufen soll.
Nur, wie mache ich das?
Ich finde nichts in der API dazu.

‹ Mehr als nur 10 Beiträge mit feeds import? [gelöst] Zählerstände auf Gartenseite ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

schon mal Drush probiert?

Eingetragen von C_Logemann (912)
am 20.03.2013 - 10:18 Uhr

Drush hat vor allem auch den Vorteil mit besseren PHP-Limits laufen zu können bezüglich Memory und Execution time, die man aber dem Browser-Nutzern nicht zu gestehen kann.
Elysia hat auch einen Drsuh support. Wenn ein Webspace SSH-Zugang bietet bekomme ich meistens auch Drush zum laufen. Du hast ja offensichtlich einen Terminal-zugang.
Das mit Drush ist aber ehrlich gesagt auch immer eine kleine Bastelei bei den Providern meiner Kunden. Auf meinen eigenen Servern ist Drush allerdings standard. Drupal macht mir ohne Drush auch nur halb soviel Spaß.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke Carsten für die

Eingetragen von montviso (2188)
am 20.03.2013 - 10:32 Uhr

Danke Carsten für die Drush-Motivation.
Das ist einiges der wenigen Themen, wo ich mich noch nicht mit beschäftigt habe bei Drupal.

Kann ich da dann auch Userrechte dediziert für Scripte vergeben?
Naja, ich gucks mir am Besten einfach mal an... brauchst mir nicht alles vorzukauen ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nun habe ich Drush

Eingetragen von montviso (2188)
am 24.03.2013 - 18:47 Uhr

Nun habe ich Drush eingerichtet und mich auch schon an verschiedenen Dingen erfreut, wie z.B. an einem vollautomatisches Update auf der Testumgebung.
Soweit wunderbar.

Nur konnte ich mein Problem leider noch nicht lösen.

Ich habe folgendes getestet:
Das hier funktioniert einwandfrei. Es werden normale News-Feeds importiert.
meinekonsole:~/mein-pfad-zu-drush/drush/drush --debug -r /mein-pfad-zu-drupal elysia-cron run [feeds_import]
Das hier soll der Aufruf von meinem Cron-Modul sein:
meinekonsole:~/mein-pfad-zu-drush/drush/drush --debug -r /mein-pfad-zu-drupal elysia-cron run [feedsimport_cron]
Wenn ich den Aufruf batch_process('myredirect-url') auskommentiere, dann läuft der Cron durch.
Wenn ich ihn nicht auskommentiere, erscheint die Fehlermeldung:
Drush command terminated abnormally due to an unrecoverable error
Ich habe wieder nur den Feed mit einer handvoll Nodes importieren lassen, um einen Timeout auszuschließen.

Nun frage ich mich also wieder, ob es an mangelnden User-Rechten scheitert?
Ich bin mit meinen Recherchen nicht weiter gekommen.
Weder habe ich etwas gefunden, wie ich das Modul mit dem cron-hook dazu bringen könnte, als Admin zu laufen.
Noch wie man per drush den Aufruf des Crons unter einem bestimmten User erzwingen könnte.

Eine Idee, wo ich als nächstes hinlangen muß?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier wären zwei Artikel für

Eingetragen von oteno (775)
am 24.03.2013 - 20:18 Uhr

Hier wären zwei Artikel für Dich, vielleicht hilft's ja weiter
http://drupal.org/node/1883988
http://atendesigngroup.com/blog/batch-api-cron-queues
persönlich habe ich allerdings keine Erfahrung damit - hat mich jetzt nur interessiert.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi oteno, beim ersten Link

Eingetragen von montviso (2188)
am 25.03.2013 - 07:08 Uhr

Hi oteno,
beim ersten Link hätte ich noch gesagt, das betrifft mich nicht, weil Queues ja in erster Linie gedacht sind, Probleme mit großen Datenmengen zu vermeiden.
Und bei mir passiert es ja auch bei einem Import mit 20 Nodes.
Dem zweiten Link entnehme ich allerdings, daß Probleme mit Batch und Cron eher häufiger auftreten.
Nun, dann werde ich mich also mal in Queues vertiefen...
Danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 10 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 7 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 35 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association