FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Mycket flitig postare
|
Någon som känner till ett sätt att köra ett php-script via cli så att jobbet kan dra nytta av att servern har flera kärnor? För tillfället använder mitt script bara en kärna men vill kunna använda flera för att boosta upp det hela lite.
Är detta möjligt? Visst kan jag dela upp scriptet och köra dem samtidigt (för att på så vis få fördelning på flera kärnor) men vill helst bara använda mig av ett script. |
||
![]() |
![]() |
![]() |
#2 | |||
|
||||
Mycket flitig postare
|
||||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Mycket flitig postare
|
Citat:
Tycker exemplen var väldigt förvirrade. Det jag letar efter måste inte nödvändigtvis ligga på php-nivå. |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Administratör
|
Work/message queues. Dela upp arbetet i flera delar, kör dessa separat i varsin worker thread. T ex Gearman, RabbitMQ, AMQP, 0MQ etc.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
Värt att tänka på ät att du endast ska använda detta om du anropar PHP-skriptet från kommandoraden(dvs via CLI). Kör du via en webbserver kan du få oväntade resultat iom att PHP då inte är trådsäkert. Vill du göra större grejer och skala ut det på flera maskiner så kan Gearman vara ett alternativ. Då har du en jobbserver och sedan flera worker servrar. Detta fungerar väldigt bra om du vill göra detta asynkront i bakgrunden, men det finns även stöd för att skicka tillbaka meddelanden så att du kan presentera resultat när det är klart(antingen via push eller kolla med AJAX) |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Mycket flitig postare
|
Citat:
Detta såg ut som nåt som skulle kunna funka för mig. Men hur begränsar jag antalet grenar i en foreach-loop? När jag har alla (ex 4 st) kärnor upptagna så vill jag vänta med att skapa en gren till tills att en av dem är färdig. |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Administratör
|
Citat:
Att forka processen ställer till fler problem än det löser vid alla användningområden förutom CLI-script. Du låser in dig vid en PHP-implementation och får göra fulhack för att stödja en annan. Implementationer för webbservrar för ett språk utan riktig trådning är helt enkelt anpassad för att köras i en process. Du kommer förlora prestanda och få svårare att optimera dina inställningar.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
Svara |
|
|