Ariaan Bruinsma

PHP Process Forking

Dit is een PHP-test script waarin meerdere processen gestart worden en afgehandeld worden zonder de nadelen van wachttijden. Het enige nadeel hiervan is dat er geen callback-functies gebruikt kunnen worden omdat in PHP immers ook geen events toepasbaar zijn. Dit zou eventueel opgelost kunnen worden door een poller geschreven in JavaScript of een cron-job op het systeem, afhankelijk van de toepassing.

Het duurde 0,306 seconden om 10 PHP-scripts te starten. Om een (voor mij) onbekende reden duurt het starten van alles processen ongeveer net zo lang als de executietijd van ∼PID_0.

Dit was slechts een proof-of-concept en ik zou hier graag een API voor ontwikkelen in PHP. Zodat deze makkelijk te implementeren is in een framework als bijvoorbeeld een achtergrond-synchronisatie mogelijkheid.

Hoewel dit script er 0,306 seconden over deed om 10 processen te starten, zou het er ook een initiatie-script gestart kunnen worden. Op deze wijze hoeft er vanuit dit script nog maar 1 extern script gestart te worden en zal de laadtijd zeer versnellen.