[PHP] Soort cornjob in windows

Pagina: 1
Acties:
  • 63 views sinds 30-01-2008

  • eric1988
  • Registratie: April 2004
  • Laatst online: 08-05 22:27
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.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Windows heeft ook iets dergelijks hoor: "Scheduled Tasks"

[ Voor 45% gewijzigd door Erkens op 31-01-2005 21:33 . Reden: urreltje added :Y) ]


  • The Eagle
  • Registratie: Januari 2002
  • Nu online

The Eagle

I wear my sunglasses at night

Daar heb je toch de windows taskplanner voor :?

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 :)


  • eric1988
  • Registratie: April 2004
  • Laatst online: 08-05 22:27
Owh ja sorry ik zit bij een host en daar kan ik die optie dus niet kiezen. Was ik even vergeten te zeggen,

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

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 :?

  • eric1988
  • Registratie: April 2004
  • Laatst online: 08-05 22:27
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.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

eric1988 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.
als ze het niet ondersteunen, weet je wat dat betekend? dat het niet kan |:(

  • Narf109
  • Registratie: Juli 2001
  • Laatst online: 15-05 11:40
't is trouwens cronjob ;)

  • eric1988
  • Registratie: April 2004
  • Laatst online: 08-05 22:27
Erkens schreef op maandag 31 januari 2005 @ 21:40:
[...]

als ze het niet ondersteunen, weet je wat dat betekend? dat het niet kan |:(
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.

Verwijderd

Erkens schreef op maandag 31 januari 2005 @ 21:40:
[...]
als ze het niet ondersteunen, weet je wat dat betekend? dat het niet kan |:(
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

  • 0siris
  • Registratie: Augustus 2000
  • Laatst online: 10-05 18:18
yup, zie ook hier en hier voor meer info...
Cron komt van Chronos, o.a. de god van de tijd

ach...in een volgend leven lach je er om!


Verwijderd

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.
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.

  • TweakBoy
  • Registratie: Augustus 2001
  • Laatst online: 00:02

TweakBoy

---

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
vreet dat niet enorm veel resources?

---


  • eric1988
  • Registratie: April 2004
  • Laatst online: 08-05 22:27
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.

Verwijderd

TweakBoy schreef op maandag 31 januari 2005 @ 21:50:
[...]
vreet dat niet enorm veel resources?
Ik weet niet of het duidelijk genoeg was uit mijn post, maar ik ging niet voor een serieus antwoord 8)

  • TweakBoy
  • Registratie: Augustus 2001
  • Laatst online: 00:02

TweakBoy

---

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 8)
offtopic:
ach, plagen mag altijd, maar niet iedereen kan hier een fout gegeven in zien. Mocht de TS dat echt hebben gedaan.. :+ dan... mjah..


@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.

---


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

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.
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 verkloten :D
Kijk eerst eens naar jezelf "jonge" :/
Maar het is zker wel mogelijk met bepaalde scripts om toch een soort cornjob ( of cronjob) uit te voeren.
ja, zoek zelf maar :z

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 15:09
Verwijderd 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.
Wel lullig als je niet veel bezoekers in een week trekt, een verjaardag is na één dag voorbij :P.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

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.
Mail de maker eens. :)

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.


  • azteke
  • Registratie: September 2002
  • Laatst online: 26-04 22:51

azteke

King

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
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...

CMDR azteke || You never get a second chance to make a first impression...


Verwijderd

Azteke schreef op maandag 31 januari 2005 @ 23:27:
[...]
Domme vragen bestaan niet,
Nope. Alleen domme topicstarts :+.
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...
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.

[ Voor 3% gewijzigd door Verwijderd op 31-01-2005 23:36 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

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...
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. :P
Zijn host wil geen standaard Taakplanner ondersteunen, dus dan lijkt het me dat ze al helemaal geen aparte programma's ervoor installeren. :P

'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/

Verwijderd

-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. :P
sorry, had ik overheen gelezen, maar het kan natuurlijk ook prima op z'n eigen pc draaien. :P als hij tenminste vanaf thuis een verbinding mag maken met de database. :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 13:02

Creepy

Tactical Espionage Splatterer

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.

"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.