Ik heb al eens wat advies gevraagd over een sms-tool die ik aan het ontwikkelen ben. Mijn grootste zorg was toen dat de sms-tool (extern ontwikkeld) op een andere server staat dan de online toepassing die ik er nu voor aan het maken ben. Ik heb dan laten toevoegen dat wanneer er een nieuwe sms binnenkomt er een php script op de sms-server wordt aangeroepen.
In dit script gebeurt het volgende : in een bestand "status" hou ik bij of de status READY is of BUSY. Als het READY is dan zet ik het op BUSY, controleer of de server online is (while loop met telkens 5sec sleep) en als dat is dan roep ik het script op de andere server aan. Ik heb dus op deze manier de controle over wat er naar andere servers toe gebeurt, ik kan een queue beheren en mocht er later nog een andere toepassing worden gemaakt op een andere server dan heb ik hiervoor geen wijziging nodig aan de sms-server.
Ik denk dat als het BUSY is dat ik dan in een bestand "queue" een regel ga toevoegen, zodat ik als het terug op READY komt de aanvragen in queue nog kan afwerken. Ik zou ook zo lang het BUSY is kunnen loopen, maar dan kunnen er meerdere requests in zo'n loop blijven hangen wat mij geen goede oplossing lijkt? (vraag 1)
Er kan dus zowiezo wel 1 loop bezig blijven, die van de controle of de server online is. Weet iemand of zo'n loop ooit kan timeouten in PHP ? Of dat de server de PHP file gaan timeouten. Als een server een half uur offline is (gebeurt normaal nooit, maar even worst case scenario) dan zou dit ook goed moeten blijven gaan (vraag 2)
Misschien nog iets stoms, maar ik wil toch even zeker zijn : PHP is toch multi-threaded ? Hiermee bedoel ik dat ik als bijvoorbeeld de server down gaat dat dan die ene thread blijft loopen en als er dan nieuwe sms'en binnenkomen dan gaat hij hetzelfde script nogmaals aanroepen, maar blijft dan niet loopen, er wordt gewoon naar de queue file geschreven. Er kunnen toch probleemloos zo meerdere threads langs elkaar draaien? (vraag 3)
Kan iemand me deze dingen nog wat meer verduidelijken? Alvast enorm bedankt!
In dit script gebeurt het volgende : in een bestand "status" hou ik bij of de status READY is of BUSY. Als het READY is dan zet ik het op BUSY, controleer of de server online is (while loop met telkens 5sec sleep) en als dat is dan roep ik het script op de andere server aan. Ik heb dus op deze manier de controle over wat er naar andere servers toe gebeurt, ik kan een queue beheren en mocht er later nog een andere toepassing worden gemaakt op een andere server dan heb ik hiervoor geen wijziging nodig aan de sms-server.
Ik denk dat als het BUSY is dat ik dan in een bestand "queue" een regel ga toevoegen, zodat ik als het terug op READY komt de aanvragen in queue nog kan afwerken. Ik zou ook zo lang het BUSY is kunnen loopen, maar dan kunnen er meerdere requests in zo'n loop blijven hangen wat mij geen goede oplossing lijkt? (vraag 1)
Er kan dus zowiezo wel 1 loop bezig blijven, die van de controle of de server online is. Weet iemand of zo'n loop ooit kan timeouten in PHP ? Of dat de server de PHP file gaan timeouten. Als een server een half uur offline is (gebeurt normaal nooit, maar even worst case scenario) dan zou dit ook goed moeten blijven gaan (vraag 2)
Misschien nog iets stoms, maar ik wil toch even zeker zijn : PHP is toch multi-threaded ? Hiermee bedoel ik dat ik als bijvoorbeeld de server down gaat dat dan die ene thread blijft loopen en als er dan nieuwe sms'en binnenkomen dan gaat hij hetzelfde script nogmaals aanroepen, maar blijft dan niet loopen, er wordt gewoon naar de queue file geschreven. Er kunnen toch probleemloos zo meerdere threads langs elkaar draaien? (vraag 3)
Kan iemand me deze dingen nog wat meer verduidelijken? Alvast enorm bedankt!
edit:
mijn excuses voor de slechte topic titel; ik had dit open gelaten om na het typen van mijn bericht in te vullen maar ben dit helemaal vergeten; net toen ik op "verstuur bericht" klikte zag ik dat deze nog open stond...
mijn excuses voor de slechte topic titel; ik had dit open gelaten om na het typen van mijn bericht in te vullen maar ben dit helemaal vergeten; net toen ik op "verstuur bericht" klikte zag ik dat deze nog open stond...
[ Voor 9% gewijzigd door codemann op 20-04-2004 09:46 . Reden: een stommiteit... ]