php fájlok futtatása cron.php-ban

szogedi képe

Cím adja magát.

-van pár könyvtáram, bennük a valami.php azonos tartalommal.
-cron.php futtatását beállítottam a szolgáltatómnál, 10 percenként lefut.
-gondoltam, hogy a

include './konyvtar1/valami.php'
include './konyvtar2/valami.php'
include './konyvtar3/valami.php'
sorokat beszúrom a cron.php-be és máris lefutnak a kívánt php file-ok, de sajnos nem hajtódnak végre. Részemről nem ésszerű, hogy külön cron-ként fussanak a php-k egyástól elkülönítve, mert jó néhány tucat lesz még belőlük, ami egy szolgáltató váltásnál a saját életemet keserítené meg.

Rossz helyen keresgélek?

Fórum: 
nevergone képe

Írsz egy modult, amelyben megvalósítod a hook_cron függvényt.

0
0
szogedi képe

Ha azt kérdeznéd tőlem, hogy miként tudsz kenyeret sütni, akkor elfogadnád azt a választ, hogy vegyél alapanyagot és valósítsd meg a sütést?

Ha annyira értenék a Drupal-hoz, nyilvánvalóan nem itt kérdeznék. A válaszod kicsit segítőkészebb is lehetne, hogy az utánam jövők is értsék a probléma megoldását. Szóval mit is kell tennem?

0
0
nevergone képe

Linkeltem egy oldalt, de linkelek még egyet:
http://vod.niif.hu/index.php?lg=hu&mn=archive&eid=77&sm=listevent

Meg még egyet:
http://api.drupal.org/api/file/developer/examples/page_example.module/6

Ebben mondjuk nincs megvalósítva a hook_cron, de láthatod, hogy ha értesz a PHP -hez, akkor egy alapszintű (és szerintem komolyabb nem kell neked) modul leprogramozása gyerekjáték.

0
0
aboros képe

nem írtad, hogy hanyas drupalban szeretnéd mindezt megvalósítani.
feltételezem, hogy 6.x drupallal dolgozol. (ha mégis 5.x, akkor nem tudok segíteni modulírásilag:)
egy mini modult kéne írnod, ami egy .info fileból és egy .module fileból áll. legyen a modul neve mondjuk mycron.
ekkor a két file mycron.info és mycron.module.

mycron.info:

name = MyCron
description = Executes custom commands during cron runs.
core = 6.x
version = "6.x-1.0"

mycron.module:

<?php
/* Implementing hook_cron() */
function mycron_cron() {
/* ide írod míves php nyelven amit végre akarsz hajtatni cron futásakor */
}

figyeld meg, hogy a .module fileban van php nyitás, de lezárva nincs! ez fontos.
ezt a két filet belepakolod egy mycron mappába, azt feltöltöd a sites/all/modules mappába, meglátogatod az admin/build/modules oldalt és engedélyezed a modulkádat és már megy is, tadaa. könnyű ez, na.

0
0

-
clear: both;

szogedi képe

Hogy ne legyen a történet kerek, kénytelen vagyok 5.7-es Drupalt használni, mert Organic Groups modul nincs a 6.2 alá.

De legalább már van min elindulnom. Köszi a segítséget! Rendes tőled!

0
0
aboros képe

itt egy segédlet 5.x -es modulkészítésről. ahogy én elnézem, a fent írtak 5.x alatt is érvényesek, ott is fog így működni, csak az .info fileban ahol 6.x -et írtam, oda 5.x -et kell írnod.

0
0

-
clear: both;

szogedi képe

Gyors és alapos válaszodat mihamarabb ki fogom próbálni. Mégegyszer köszi!
--> Ki is próbáltam.
Tehát létrehoztam kettő fájlt:
mycron.info

name = MyCron
description = Executes custom commands during cron runs.
core = 5.x
version = "5.x-1.0"

mycron.module
<?php
/* Implementing hook_cron() */
function mycron_cron() {
/* include './camera/torol.php'; */
}

A Címlap › Adminisztráció › Webhely építés › Modulok

menüben engedélyeztem a modult.

A cron a szolgáltató futási naplója alapján hiba nélkül lefutott

cron.php #1083
-----------------------------
 
Futás: 2008-06-23 13:18:04 - 2008-06-23 13:18:05
Eredmény:

Mégsem törlődnek a fájlok.

Ha úgy indítom hogy http://www.xxxdomain.hu/camera/torol.php akkor viszont a torol.php végzi a dolgát. Mit szúrhattam el?

0
0
nevergone képe

A hivatkozáskor abszolút utat adj meg a fájlrendszerben.

0
0
aboros képe

hát, némi php nyelvtani képzavar van.
a példámban a mycron_cron() függvényben a függvény egyetlen sora egy komment volt. (hogy ide írd amit akarsz). _nyilván_ nem a komment helyére kell írni az include-ot, hiszen akkor nem hajtódik végre, "ide írd" alatt azt értettem, hogy "ebbe a függvénybe". :)

tehát így:

<?php
/* Implementing hook_cron() */
function mycron_cron() {
include './camera/torol.php';
}
0
0

-
clear: both;

szogedi képe

Sajnos lesz is még egy-két hónapig, amíg bele nem jövök... :-)

0
0
nevergone képe

Nem lenne jobb, ha végigszaladnál legalább a PHP alapjain? Bevallom őszintén, én azt hittem, hogy poénból kommentelted ki, esetleg azért, hogy ne zavarjon be itt. Át is siklott rajta a szemem, mert nem gondoltam, hogy azt ott "komolyan" kell venni...

0
0
aboros képe

hajrá, legjobb úton haladsz. bummaközepébe! szerezz be jó sok kávét! ;)

0
0

-
clear: both;

szogedi képe

sem születik mesternek. Általában az élet is erről szól. Rövid idő alatt, eredményt felmutatni, még ha nem is értünk hozzá. Időközben majd rájövünk a lényegükre azoknak, amelyeket véghezvittünk.

Ugye sokunkkal megtörtént már ilyen annak ellenére, hogy nem így kellene működnie? De sajonos az élet nem a normális úton halad manapság.

0
0
nevergone képe

Senki sem születik mesternek, viszont mindennek van egy útja. Pl. nem műtök szívet, ha még szikét sem ismerem fel. És valóban rövid idő alatt sokszor eredményt felmutatni, ez azonban alapvetően nem változtat az úton és a haladási irányon, legfeljebb a tempón és a felhasznált eszközökön.
Persze itt még lehetne sokmindent írni, de már nem kötődnek a Drupalhoz, mint ahogy a te kérdésed sem kötődött hozzá, hanem sokkal inkább a PHP alapjaihoz. Ott kezd, ott kell kezdened, ha valóban sikert akarsz elérni, és nem azt szeretnéd, hogy minden "piszlicsáré" (elnézést, nálunk használják ezt a szót) apró dologgal másokhoz kelljen szaladgálnod.
Hidd el, nem rossz szándékból írom mindezt, mint ahogy eddig sem azért tettem.

0
0
szogedi képe

őszinte véleményt tiszteletben kell tartani.

0
0