Nach Erstellen/Ändern von Inhalt Cron ausführen (wegen Suchindex)
am 04.02.2011 - 17:52 Uhr in
Nach 2 Stunden Suche auf drupal.org und hier halte ich mich jetzt entweder für zu begriffsstutzig oder die Drupal-Community für zu leidensfähig :-)
Es scheint ja allgemein bekannt zu sein, dass neue Inhalte bzw. Änderungen an Inhalten erst beim nächsten Cronjob in den Suchindex aufgenommen werden. Was ich nicht verstehe: Was spricht dagegen, nach jedem Erstellen/Ändern von Nodes einen Cron zu triggern? (Ehrlich - ich möchte es ja verstehen.) Gut, das sollte keine Standardeinstellung sein, aber dass das nur mit erheblichem Tricksen möglich sein soll, will mir nicht in den Kopf.
Immerhin habe ich herausgefunden, dass ich auf Drupal 8 hoffen darf: Index Content when created
Was ich versucht habe:
a) Die Cron-Konfiguration angeschaut, aber dort gibt es erwartungsgemäß nur die Zeitsteuerung.
b) Konfiguration > System > Aktionen > Erstellen einer erweiterten Aktion mit "Weiterleiten zu URL"
Struktur > Trigger > Node > Zuweisen der neuen Aktion "Beim Speichern von neuem Inhalt oder beim Aktualisieren ..."
Erfolgloser Versuch, weil ich das normale Verhalten nach dem Speichern eines Nodes nicht korrumpieren möchte.
Warum ist keine Aktion "Cron laufen lassen" vorgesehen? Bei Trigger finde ich das umgekehrte (unter System): Aktion zuweisen, "wenn Cron läuft" - da muss sich doch schon einmal jemand Gedanken gemacht haben ...
c) Mit dem Modul Rules ähnlich erfolglos, schließlich kann hier ja auch nicht plötzlich "Run Cron" als Aktion auftauchen.
Ich hoffe, dass mir hier jemand aus dem charmanten Kreise einen Tipp geben kann.
Ansonsten hoffe ich zumindest, dass dieser Beitrag ein paar Suchenden unnötigen Aufwand erspart.
- Anmelden oder Registrieren um Kommentare zu schreiben
5 Minuten
am 04.02.2011 - 18:16 Uhr
Will mir nicht so recht einleuchten, warum der Suchindex so dermaßen aktuell sein muss?
Im Zweifel kannst du auch den Cronjob so einstellen, dass er alle fünf Minuten läuft (notfalls per cronjob.de).
Übertrieben
am 04.02.2011 - 18:29 Uhr
Ah ja, Verzeihung, das hatte ich noch dazu sagen wollen:
Ich binde in einen Node-Typ einen Block ein, der sinngemäß funktioniert wie "What links to this?". Weil dieser Block nutzergenerierte Inhalte auflistet (die erst dort auftauchen, wenn sie im Suchindex sind), müsste der Cron quasi sekündlich laufen, um in das Zeitfenster zwischen "Inhalt erstellen" und "Seite neu laden" grätschen muss.
An anderer Stelle habe ich gelesen, dass es Probleme mit verschiedensten Vorgängen gibt, wenn der Cron gerade seine Arbeit macht. Ich möchte gar nicht erst ausprobieren, welche Probleme genau das sein können, deshalb möchte ich ungern den Cron so häufig laufen lassen.
Außerdem wird die Site nicht allzu häufig frequentiert. Ich möchte trotzdem Duplikate vermeiden.
drupal rules run cron
am 04.02.2011 - 18:43 Uhr
Nach kurzer Google-Suche:
http://drupal.org/node/812384
Oder erstelle mit einem Modul
am 04.02.2011 - 18:52 Uhr
Oder erstelle mit einem Modul eine eigene Action, welche den Cronlauf ausführt. Die kannst du dann triggern.
Spitze
am 04.02.2011 - 19:20 Uhr
Ha, du bist besser mit Google befreundet :-)
Das Tutorial hatte ich in der Tat nicht gefunden.
Und auch "PHP filter" nicht aktiviert, deshalb bin ich nicht einmal auf die Idee gekommen ...
Vielen Dank jedenfalls!