Be van állítva a cron.php futtasa óránként. Rendszeresen azt kapom, hogy (és itt most jön a műsolat a legutolsó napló bejegyzésekből):
Részletek Típus időzítő Dátum szombat, augusztus 21, 2010 - 14:01 Felhasználó Anonymous Hely http://www.qualityontime.eu/cron.php Hivatkozó Üzenet Az időzített feladatok futtatása több mint egy órát vett már igénybe, feltehetően valamilyen hiba miatt. Szint hiba Hosztnév 195.70.57.140 Műveletek
Honnan tudom meg, hogy miért nem fut le? Hol nézzem meg? (Lehetsz technikai, mert informatikus vagyok)
Mikor kézzel futtatom, akkor már csak annyit látok a naplóban, mint warning: "Az időzített feladatok futtatásának kísérlete, miközben ezek futnak."
Megjegyzés: Korábban a kézi futtatásra MySql hiba jött fel, ami a drupal_watchdog táblára panaszkodott. Erre fogtam magam és kitakarítottam a táblát, plusz az drupa_session táblát is (mert az piszok nagy lett - nem is értem miért nincs benne a cron.php-ban, hogy tisztogassa!)
Gyorshelp: Van-e valamilyen
Gyorshelp: Van-e valamilyen rules által kezelet átirányítás az oldalon, content is going to be viewed eseményre? Én ezt nyaltam be párszor.
Továbbá: http://drupal.org/project/modules?filters=drupal_core%3A87&text=cron
Ezek közül ha jól emlékszem a Supercron volt az, amivel ezt sikerült debugolni, de ahogy nézem, az első is jó lehet erre.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
cron_semaphore
A variables táblából töröld a cron_semaphore-t, és ürítsd a gyorstárat. Utána próbáld újra lefuttatni. Gyakori probléma, hogy a kereső túl sok tartalmat próbál beindexelni, ezt lehet csökkenteni az /admin/settings/search oldalon. Másik gyakori ok valamilyen rosszul beállított átirányítás.
Ha továbbra sem jó, akkor egy kicsit nyomozgatni kell, hogy meddig fut le és pontosan melyik MODULNEVE_cron implementációnál hasal el. Ha már látod, hogy melyik modulban van a gond, akkor onnan már viszonylag könnyen lehet debuggolni.
A session tábla tisztogatása gondolom azért marad el, mert Debian/Ubuntu rendszeren vagy: Debian és Ubuntu szervereken a Drupal sessions tábla túl nagyra nő.
Beletettem a logolást és az
Beletettem a logolást és az alapján 1 percen belül eljut a linkchecker modulhoz és onnan kezdve semmit sem látok történni. A nem ellenőrzött linkjeim száma sem csökkent.
Mi lehet a következő lépés?
Növeld a cron.php számára a
Növeld a cron.php számára a PHP futási idejét jó nagyra.
kikapcs
Gondolj bele, a Linkchecker egyenként végignéz minden kifelé mutató linket a webhelyeden, hogy él-e még. Ha nagyobb webhelyed van sok linkkel, akkor nem csoda, hogy sokáig tart.
Következő lépés: kikapcsolni a modult. :)
Gondold végig, hogy mennyire fontos a számodra ez a szolgáltatás. Alapvetően ez a linkelt webhelyek dolga és érdeke lenne, hogy a régi URL-jeikről átirányítsanak, stb. Intraneteken, vagy ahol fontos, ott ki lehet erre dolgozni egy stratégiát, hogy mondjuk havonta egyszer futtatjuk az ellenőrzést. Akkor ahogy Aries is írta, átmenetileg meg kell növelni a max_execution_time-ot, hogy végezhessen a PHP a feladattal.
Ez lett a megoldás
Végül az lett a megoldás, hogy kikapcsoltam a linkcheckert. A Szolgáltatóm azt mondta, hogy külön kérésre és külön pénzért fel tudja emelni a jelenlegi 30 sec-es max válaszidőt akár 90 sec-re is.
A linkellenőrzésre majd használok valami mást.
Említetted, hogy a link a linktulajdonos felelőssége azért mégis az én oldalamat minősíti le, ha halott link van rajta.
probald sajat koddal
Probald meg sajat koddal, ami batch apit hasznal, igy az ido nem fogy el. Azt nem tudom, hogy cron-ba hogy tudod tenni, a hook_cronba sehogy, de talan sajat utvonalra teve megoldhato lehet.
---
http://drupalaton.hu
Elképzelhető, hogy
Elképzelhető, hogy alulméretezted a PHP futási idejét, így azelőtt ki lett lőve, ahogy az Edith által említett változókat visszaállította volna.