Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Hosting med cronjob ?

Side 2 ud af 2 (19 indlæg)
Tilmeldt 31. Mar 06
Indlæg ialt: 273
Skrevet kl. 23:51
Hvor mange stjerner giver du? :
Dato: 20-09-2006 23:43:05
Forfatter: Anders Christensen
Hvis du hver gang en bruger besøger siden, tjekker et timestamp i din database, hvis det så er mere end f.eks. 50 minutter gammelt skal den udføre dit script, og hvis det er mindre end 50 minutter gammelt ikkegøre noget.

Hvis den så skal udføre scriptet, sætter den timestamp til ''nu'', og så er den ellers klar til at stå en time mere og vente på at skulle udføre det igen.



Den metode kom  jeg også frem til. Jeg er bare ikke så go til at programmere php endnu, men det kan vel bikses sammen.

Cronjob.de virker forresten fint. Det script cronjobbet skal udføre vil bare ikke acceptere at blive kørt fra andre steder end serveren (af sikkerhedsgrunde). Men det kan jeg sikkert slå fra.

Fra Odense M
Tilmeldt 21. Nov 05
Indlæg ialt: 1147
Fra  Skovhøj Ejendomme ApS Skrevet kl. 00:05
Hvor mange stjerner giver du? :
Jeg vælger at gå ud fra, at du bruger mysql som database, og at du kan finde ud af at importere en tabel. Hvis dette volder problemer, smider du naturligvis blot en pm!

SQL-streng til at oprette tabellen "cronjobtid":
CREATE TABLE `cronjobtid` (
`id` INT( 12 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`tid` VARCHAR( 255 ) NOT NULL

) TYPE = MYISAM ;

PHP-kode, som du kan placere enten på forsiden, i toppen af alle dokumenter eller lignende:
<?
//Her indsætter du evt. kode til at connecte til din database..

$query = mysql_query("SELECT tid FROM cronjobtid WHERE id=''1''") or die(mysql_error());
while($row = mysql_fetch_assoc($query)) {
    $tiddb = $row[tid]; //Tiden, som er gemt i databasen.
    $tidnu = date(); //Udskriver antal sekunder siden den 1-1-1970. Læs mere på www.php.net/date
    $tidpt = date(); + 3600; //Nuværende tid i sekunder plus en time.
    if($tidnu > $tiddb) {
       //Her skal du placere koden til dit "cronjob"!

       mysql_query("UPDATE cronjobtid SET tid=''$tidpt'' WHERE id=''1''");
    }
}
?>

Jeg har ikke lige testet koden, men jeg satser på, at den virker :)

Ejendomsinvestor i selskabet Bolio - Lejebolig i Odense

Fra Roskilde
Tilmeldt 30. Jul 06
Indlæg ialt: 2298
Skrevet kl. 07:01
Hvor mange stjerner giver du? :
Jeg har ikke lige noget script liggende på det, men kan se Anders og Mathias har redegjort for hvordan det kan gøres

 

:-) Jesper

Tilmeldt 22. Apr 06
Indlæg ialt: 115
Skrevet kl. 21:59
Hvor mange stjerner giver du? :
Mathias var lige lidt hurtig. Ingen grund til at pakke det ind i en loekke. Der er vel formentlig kun et "cronjob" per ID? Derudover, udskift date() med time() og husk at quote noeglen saa det bliver $row[''tid'']. Ellers vil fortolkeren nemlig tro det er en konstant og smide en advarsel hvis dit fejlrapporteringsniveau er tilstraekkeligt hoejt.

Derudover kunne man argumentere for at der kunne opstaa race conditions hvis en forespoergsel har aktiveret cronjobbet og gaar igang med den tilhoerende beregning samtidig med en anden forespoergsel aktiverer cronjobbet foer den foerste faar lukket af ved at opdatere tiden i databasen. Saa det er lidt en risikabel loesning, men kan sagtens bruge afhaengig af hvad det er der skal afvikles.

Men saa tror jeg ogsaa man efterhaanden er nogenlunde hjemme ;-)
Tilmeldt 31. Mar 06
Indlæg ialt: 273
Skrevet kl. 08:43
Hvor mange stjerner giver du? :
Jeg fik ændret lidt i koden til skcriptet så jeg kan udføre det via cronjob.de.
Tak for linket.

Jeg har gemt den postede php kode til en anden gang. Har ikke testet om den virker.

Fra København
Tilmeldt 1. Jun 06
Indlæg ialt: 6114
Fra  Mikjaer Consulting ApS Skrevet kl. 21:34
Hvor mange stjerner giver du? :
Mangler du stadig hosting med cronjob? Hvis du lægger din hosting hos os (600kr/år) vil du kunne få opsat et cronjob for 199kr og herefter er det gratis ... dog indenfor rimelighedens grænser mht. cpu load o.l.

   Mvh
Mikkel Christensen

Fra København
Tilmeldt 1. Jun 06
Indlæg ialt: 6114
Fra  Mikjaer Consulting ApS Skrevet kl. 16:36
Hvor mange stjerner giver du? :
Flot ... så ikke sidste indlæg :P
Tilmeldt 13. Oct 06
Indlæg ialt: 1
Skrevet kl. 11:07
Hvor mange stjerner giver du? :
Du kunne eventuelt kombinere et besøgsaktiveret cronjob med at have et javascript kørende på din egen server, der automatisk besøger din hjemmeside 1 gang i døgnet. Eventuelt kunne du have cronjobbet liggende på www.domæne.dk/activate_cron.php og lade dit javascript accesse den hver nat kl. 03.00 eller noget. Så er du ikke afhængig af at der faktisk kommer besøgende på din side.

Blot en ide, som jeg selv har leget med..

Vh
Peter


PB Tryk & Grafik - skilte m.m.
www.pbtryk.dk






Facadeskilte - magnetskilte - gadeskilte - pos - folietekster - lysskilte - udfræsede bogstaver - og meget mere...

 



 

 

 

Jeg er meget interesseret i denne løsning, for den lyder til at være effektiv...



da jeg også selv står med et problem, at min host ikke understøtter cronjob, så derfor skal jeg have lavet et script.



som selv klare den inden for hver time, så derfor kan jeg ikke gøre sitet afhængig af besøgende...



 



nogle der evt. har et udkast til denne form for script???



Fra Århus
Tilmeldt 18. Feb 06
Indlæg ialt: 4322
Skrevet kl. 11:23
Hvor mange stjerner giver du? :
Det du ønsker kan ikke lade sig gøre, du er nødt til at have noget brugeraktiveret script, eller et cronjob, eller en computer som med faste intervaller besøger din hjemmeside. (brugeraktivering)

Safeticket - Dit enkle og fleksible billetsystem.

Side 2 ud af 2 (19 indlæg)