Server side loop voor x minuten met callbacks

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • vpm
  • Registratie: December 2010
  • Laatst online: 19-09 16:57

vpm

Think, tinker, tank

Topicstarter
Beste allemaal,

Ik heb een php-script. Deze draait een job en geeft een result. Elke aanroep duurt ±1 minuut. De totale job (x iteratie dit script) duurt ongeveer 10/20 minuten, afhankelijk van een embedded call (max. 3 sec).
Omdat ik tussentijds het resultaat van elke call wil geven, wil ik dit dus wrappen in een ander script. Dit kan zover ik zie geen php zijn, gezien dit veel te heftig is (+ time limit conflicten).

Wat zijn dan de opties? Ik zit zelf aan een shell script te denken, maar is dat wel zo slim? Kan die zomaar 20 minuten draaien? De server (debian 7) draait zover ik weet enkel Ruby en C (& php dus), maar ik kan (met wat moeite) wel andere dingen installeren.

Een duwtje in de juiste richtig wordt gewaardeerd ;)

Alvast bedankt.

FYI: Ik zeg "ik heb een script": in gedachten...

[ Voor 4% gewijzigd door vpm op 30-07-2014 14:22 ]


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 19-09 21:09
Kan je geen queue gebruiken, zoals Beanstalkd? En dan in je php script de jobs in de queue plaatsen?

Acties:
  • 0 Henk 'm!

  • HuHu
  • Registratie: Maart 2005
  • Niet online
Je kunt server-side een langlopend script draaien, dat kan shell, python, PHP, whatever zijn; dat zijn (tussen)resultaten in een database opslaat. Dan heb je een webpagina (bijv. in PHP) die deze resultaten uit de database haalt.

Hoe lang dat script op de server blijft lopen maakt op zich niet uit. Het ligt een beetje aan de belasting op je sever.

Acties:
  • 0 Henk 'm!

  • vpm
  • Registratie: December 2010
  • Laatst online: 19-09 16:57

vpm

Think, tinker, tank

Topicstarter
Hmm, ik kan dus inderdaad alle kanten op. Beanstalkd is voor dit geen optie (of toch... :/ ?), maar ik zal em noteren voor later.
Ik moet nog bedenken hoe ik het aantal iteraties ga meegeven... heb wel wat ideeën. Zsm het project verder uitwerken, dan wordt alles duidelijk.