[PHP] Queueing serversysteem bouwen *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 12:10
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!

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

[ Voor 9% gewijzigd door codemann op 20-04-2004 09:46 . Reden: een stommiteit... ]


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

codemann schreef op 20 april 2004 @ 09:42:
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...
Suggereer dan een verbetering ipv het aan mij over te laten :z

En ontopic: nee PHP is niet multithreaded, maar je webserver wel. Oftewel iedere request krijgt 1 workerthread van de webserver om z'n werk mee te doen.

[ Voor 17% gewijzigd door curry684 op 20-04-2004 09:57 ]

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 12:10
Suggereer dan een verbetering ipv het aan mij over te laten :z
Ik was net terug naar GoT aan het surfen om mijn edit nogmaals aan te passen ;) Bedankt om het aan te passen !
En ontopic: nee PHP is niet multithreaded, maar je webserver wel. Oftewel iedere request krijgt 1 workerthread van de webserver om z'n werk mee te doen.
Ok dat gaat al goed gaan dan, dacht ik ook wel... Nu de rest nog ;)