Mijn site draait op een windows server. Helaas is het hierdoor niet mogelijk om met cornjobs te werken. Nu is mijn vraag: weet iemand toevallig of je op een andere manier toch bijv elke dag een bepaald script kan uitvoeren. Ik wil namelijk dat als iemand jarig er een mailtje word gestuurd, maar ik kom er niet uit hoe het moet.
Windows heeft ook iets dergelijks hoor: "Scheduled Tasks"
[ Voor 45% gewijzigd door Erkens op 31-01-2005 21:33 . Reden: urreltje added :Y) ]
Daar heb je toch de windows taskplanner voor 
Edit: Met Erkens dus
Edit: Met Erkens dus
[ Voor 23% gewijzigd door The Eagle op 31-01-2005 21:32 ]
Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)
Owh ja sorry ik zit bij een host en daar kan ik die optie dus niet kiezen. Was ik even vergeten te zeggen,
misschien eerst eens bij je hoster aankloppen om te vragen of ze een dergelijke dienst aanbieden en hoe je die moet gebruiken ipv meteen een topic te openen
Nee ze ondersteunen het niet daarom vraag ik het hier of jullie er een oplossing voor hebben. Dat ze het niet indersteunen weet ik 100% zeker.
als ze het niet ondersteunen, weet je wat dat betekend? dat het niet kaneric1988 schreef op maandag 31 januari 2005 @ 21:39:
Nee ze ondersteunen het niet daarom vraag ik het hier of jullie er een oplossing voor hebben. Dat ze het niet indersteunen weet ik 100% zeker.
Jonge ik probeer een serieus antwoord te krijgen en jij loopt nu het hele topic te verkloten.Erkens schreef op maandag 31 januari 2005 @ 21:40:
[...]
als ze het niet ondersteunen, weet je wat dat betekend? dat het niet kan
Maar het is zker wel mogelijk met bepaalde scripts om toch een soort cornjob ( of cronjob) uit te voeren.
Verwijderd
Welnee, niks van aantrekken! Gewoon een PHP script schrijven zonder time limit (als je gelukt hebt zetten ze safe mode niet aan!) dat in een while (1) lus checkt of het tijd is om een taak uit te voeren!Erkens schreef op maandag 31 januari 2005 @ 21:40:
[...]
als ze het niet ondersteunen, weet je wat dat betekend? dat het niet kan
Doen!!1
Verwijderd
Ja, die laat je dus aanroepen door een service die continue draait en af en roe eens iets uitvoert. Onder Linux heb je bijvoorbeeld anacron, fcron, etcetera, en onder Windows heb je de taakplanner.eric1988 schreef op maandag 31 januari 2005 @ 21:44:
Jonge ik probeer een serieus antwoord te krijgen en jij loopt nu het hele topic te verkloten.
Maar het is zker wel mogelijk met bepaalde scripts om toch een soort cornjob ( of cronjob) uit te voeren.
Scripts komen niet uit zichzelf tot leven, maar je kunt natuurlijk wel een trucje uithalen dat de eerste gebruiker na een bepaald tijdstip voor een aanroep van je scriptje zorgt, waarna je op de server een bestandje of wat dan ook zet waardoor duidelijk is op welk tijdstip of hoelang geleden een script is uitgevoerd. Bedenk maar wat.
Het echte probleem is overigens een luie hosting provider.
vreet dat niet enorm veel resources?Verwijderd schreef op maandag 31 januari 2005 @ 21:45:
[...]
Welnee, niks van aantrekken! Gewoon een PHP script schrijven zonder time limit (als je gelukt hebt zetten ze safe mode niet aan!) dat in een while (1) lus checkt of het tijd is om een taak uit te voeren!
Doen!!1
---
Ok ik heb hier net dus 2 scriptjes gevonden namelijk:
<?php
$nu = time();
$activatietijd = $nu - $cfg['tijd'];
$query = mysql_query("DELETE FROM leden_temp WHERE tijd <='".$activatietijd."'"); // Niet geactiveerde accounts verwijderen
$wachtwoordtijd = $nu - $cfg['w_tijd'];
$query = mysql_query("DELETE FROM leden_wachr WHERE datum <='".$wachtwoordtijd."'"); // Niet geactiveerde wachtwoord verwijderen
?>
en
<?php
ob_start();
$mysql['host'] = "localhost";
$mysql['gebruikersnaam'] = "****";
$mysql['wachtwoord'] = "****";
$mysql['database'] = "****";
$cfg['tijd'] = 3600*48; // Tijd in seconden die je krijgt om je account te activeren. 3600 = 1 uur.
$cfg['w_tijd'] = 3600*48; // Tijd in de seconden die je krijgt om je wachtwoord te activeren.
$cfg['site'] = "murfymedia.com"; // Sitenaam
$cfg['url'] = "http://www.murfymedia.com/login/"; // Site-url, inc. slash!!!
$cfg['email'] = "noreply@murfymedia.com"; // De afzender van de activatiecode en het nieuwe wachtwoord
$cfg['act_lengte'] = 10; // lengte van de activatiecode
$cfg['poging'] = 3; // hoeveel keer je mag proberen in te loggen vooraleer je naar "Wachtwoord vergeten" gaat
$cfg['cronjobs'] = 1; // heb je CronJobs? Zoja, laat dan cronjobs.php draaien en zet dit op 1. Anders zet je het op 0 en wordt de controle gedaan bij het inloggen en registreren.
?>
Maar hoe maak ik van die 2 scriptjes nou bijvoorbeeld een script dat mails verstuurd op een bepaalde dag. Mijn PHP is nog niet zo best dus probeer ik het op deze manier te leren.
<?php
$nu = time();
$activatietijd = $nu - $cfg['tijd'];
$query = mysql_query("DELETE FROM leden_temp WHERE tijd <='".$activatietijd."'"); // Niet geactiveerde accounts verwijderen
$wachtwoordtijd = $nu - $cfg['w_tijd'];
$query = mysql_query("DELETE FROM leden_wachr WHERE datum <='".$wachtwoordtijd."'"); // Niet geactiveerde wachtwoord verwijderen
?>
en
<?php
ob_start();
$mysql['host'] = "localhost";
$mysql['gebruikersnaam'] = "****";
$mysql['wachtwoord'] = "****";
$mysql['database'] = "****";
$cfg['tijd'] = 3600*48; // Tijd in seconden die je krijgt om je account te activeren. 3600 = 1 uur.
$cfg['w_tijd'] = 3600*48; // Tijd in de seconden die je krijgt om je wachtwoord te activeren.
$cfg['site'] = "murfymedia.com"; // Sitenaam
$cfg['url'] = "http://www.murfymedia.com/login/"; // Site-url, inc. slash!!!
$cfg['email'] = "noreply@murfymedia.com"; // De afzender van de activatiecode en het nieuwe wachtwoord
$cfg['act_lengte'] = 10; // lengte van de activatiecode
$cfg['poging'] = 3; // hoeveel keer je mag proberen in te loggen vooraleer je naar "Wachtwoord vergeten" gaat
$cfg['cronjobs'] = 1; // heb je CronJobs? Zoja, laat dan cronjobs.php draaien en zet dit op 1. Anders zet je het op 0 en wordt de controle gedaan bij het inloggen en registreren.
?>
Maar hoe maak ik van die 2 scriptjes nou bijvoorbeeld een script dat mails verstuurd op een bepaalde dag. Mijn PHP is nog niet zo best dus probeer ik het op deze manier te leren.
Verwijderd
Ik weet niet of het duidelijk genoeg was uit mijn post, maar ik ging niet voor een serieus antwoord
Verwijderd schreef op maandag 31 januari 2005 @ 21:54:
[...]
Ik weet niet of het duidelijk genoeg was uit mijn post, maar ik ging niet voor een serieus antwoord
offtopic:
ach, plagen mag altijd, maar niet iedereen kan hier een fout gegeven in zien. Mocht de TS dat echt hebben gedaan..
dan... mjah..
ach, plagen mag altijd, maar niet iedereen kan hier een fout gegeven in zien. Mocht de TS dat echt hebben gedaan..
@eric1988: Wat je hostingprovider niet ondersteunt kan je toch zelf oplossen? Programmeer zelf in jouw eigen takenplanner van windows dat hij je browseraanroep met een bepaalde url die je elke x uur van de dag aanroept.
Het is beter dan helemaal nix hebben. Mocht het echt grote taken zijn, dan kan dit zo gebeuren. maar mocht het alleen maar om een enkele mail te versturen dan zou ik dat gewoon oplossen door een "hidden taskactivator" in je site op nemen.
VB:
wanneer er een bezoeker je site opent activeert hij een trigger die je onderhoudsscript o.i.d. activeert. Deze script laat een logboek achter welke een timestamp zet van "laatst uitgevoerd". Telkens wanneer deze script wordt uitgevoerd kun je het laten beslissen of de tussen liggende tijd of de juiste tijdstip is gepasseerd om het nogmaals te laten uitvoeren..
het is een beetje omslachtige manier van uitvoeren, maar dit is iets wat ik in het beginfase van mijn jaren heb gedaan zonder crons.
---
Ik zit hier moeite voor je te doen, gratis nogwel, ik zoek zelfs een url voor je. Allemaal verspilde moeite. Achteraf omdat jij gewoon te lui bent om volledig te zijn en aan te geven dat je die provider al had benaderd hierover en dat ze het niet ondersteunde, dan had ik die tijd beter kunnen besteden. En als klap op de vuurpijl zit ik het topic te verkloteneric1988 schreef op maandag 31 januari 2005 @ 21:44:
[...]
Jonge ik probeer een serieus antwoord te krijgen en jij loopt nu het hele topic te verkloten.
Kijk eerst eens naar jezelf "jonge"
ja, zoek zelf maarMaar het is zker wel mogelijk met bepaalde scripts om toch een soort cornjob ( of cronjob) uit te voeren.
Wel lullig als je niet veel bezoekers in een week trekt, een verjaardag is na één dag voorbijVerwijderd schreef op maandag 31 januari 2005 @ 21:50:
Ja, die laat je dus aanroepen door een service die continue draait en af en roe eens iets uitvoert. Onder Linux heb je bijvoorbeeld anacron, fcron, etcetera, en onder Windows heb je de taakplanner.
Scripts komen niet uit zichzelf tot leven, maar je kunt natuurlijk wel een trucje uithalen dat de eerste gebruiker na een bepaald tijdstip voor een aanroep van je scriptje zorgt, waarna je op de server een bestandje of wat dan ook zet waardoor duidelijk is op welk tijdstip of hoelang geleden een script is uitgevoerd. Bedenk maar wat.
Het echte probleem is overigens een luie hosting provider.
Mail de maker eens.eric1988 schreef op maandag 31 januari 2005 @ 21:53:
Maar hoe maak ik van die 2 scriptjes nou bijvoorbeeld een script dat mails verstuurd op een bepaalde dag. Mijn PHP is nog niet zo best dus probeer ik het op deze manier te leren.
Het is al een paar keer gezegd maar ik zeg het nog eens: een script kan zichzelf niet aanroepen. Je zal een ander script moeten hebben dat dat script aanroept, of zelf iets moeten verzinnen. Een optie is om een script waarvan je weet dat het vaak gebruikt wordt te laten checken of iemand jarig is. Zo heb ik bijvoorbeeld mijn avatarscript, dat elke minuut wel een view krijgt omdat ik veel op GoT zit. Als ik geen cronjobs zou kunnen gebruiken, dan zou ik in mijn avatarscript een include bouwen die checkt of er mensen jarig zijn, en zo ja dat mailtje verstuurt.
Je kan ook een taak plannen op je eigen systeem, die dan om de zoveel tijd zelf dat script op de remote server aanroept. Veel meer zit er echter niet op ben ik bang.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Domme vragen bestaan niet, dus stel ik mijn vraag maar gewoonVerwijderd schreef op maandag 31 januari 2005 @ 21:45:
[...]
Welnee, niks van aantrekken! Gewoon een PHP script schrijven zonder time limit (als je gelukt hebt zetten ze safe mode niet aan!) dat in een while (1) lus checkt of het tijd is om een taak uit te voeren!
Doen!!1
in java kan je een thread laten 'slapen' voor een bepaalde duur (void run(); thread.sleep(x); ), is zoiets niet ook mogelijk in php? dan zou je hem dus iedere 10 minuten kunnen laten kijken, dat zal geen grote aanslag zijn op resources denk ik...
CMDR azteke || You never get a second chance to make a first impression...
Verwijderd
Nope. Alleen domme topicstarts
Zo te zien wel. Inderdaad is het misschien wel een oplossing, maar je hebt dan geen methode om het script te stoppen en te herstarten (bijv. als je er iets aan verandert). En het is wel een vereiste dat de server safe mode uit heeft staan, zodat je set_time_limit kan gebruiken.dus stel ik mijn vraag maar gewoon
in java kan je een thread laten 'slapen' voor een bepaalde duur (void run(); thread.sleep(x); ), is zoiets niet ook mogelijk in php? dan zou je hem dus iedere 10 minuten kunnen laten kijken, dat zal geen grote aanslag zijn op resources denk ik...
[ Voor 3% gewijzigd door Verwijderd op 31-01-2005 23:36 ]
Dat wil je niet in PHP: het vreet resources. Je host gooit, als ze slimmer zijn dan ze hier overkomen, dat script snel genoeg eraf.Azteke schreef op maandag 31 januari 2005 @ 23:27:
Domme vragen bestaan niet, dus stel ik mijn vraag maar gewoon
in java kan je een thread laten 'slapen' voor een bepaalde duur (void run(); thread.sleep(x); ), is zoiets niet ook mogelijk in php? dan zou je hem dus iedere 10 minuten kunnen laten kijken, dat zal geen grote aanslag zijn op resources denk ik...
Zijn host wil geen standaard Taakplanner ondersteunen, dus dan lijkt het me dat ze al helemaal geen aparte programma's ervoor installeren.Verwijderd schreef op maandag 31 januari 2005 @ 23:28:
http://www.zdnet.nl/supercenter.cfm?id=22130&scid=4
Handig tooltje daarvoor.
'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.
Verwijderd
deze gebruik ik altijd onder windows, werkt vrijwel identiek als de linux versie:
nncron LITE
http://www.nncron.ru/
nncron LITE
http://www.nncron.ru/
Verwijderd
sorry, had ik overheen gelezen, maar het kan natuurlijk ook prima op z'n eigen pc draaien.-NMe- schreef op maandag 31 januari 2005 @ 23:36:
[...]
Zijn host wil geen standaard Taakplanner ondersteunen, dus dan lijkt het me dat ze al helemaal geen aparte programma's ervoor installeren.
Hmmja.. Ondertussen zijn er twee gevonden scripts. Die gaan we hier niet voor je aan elkaar plakken, dat mag je zelf doen. Als je het echt niet lukt, geef dan aan wat je precies hebt gedaan en wat daar niet mee lijkt en open een nieuwe topic. Programmeren doen we hier zelf, dat laten we niet doen 
Daarnaast zijn er nu verschillende tools aangedragen om alsnog een cronjob achtig iets te installeren of werkend te krijgen, iets wat installatie is, en geen programeer probleem.
Daarnaast zijn er nu verschillende tools aangedragen om alsnog een cronjob achtig iets te installeren of werkend te krijgen, iets wat installatie is, en geen programeer probleem.
"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney
Pagina: 1
Dit topic is gesloten.
![]()