[PHP / shell scripting] Hoe definieer je een time-out ?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Hoi,

ik heb een 'sh' shell scriptje wat ik via cron wil aanroepen om elk uur wat php scripts uit te voeren die wat nieuwsfeeds binnenhalen.
Echter, hoe kan ik ervoor zorgen dat wanneer een site niet te bereiken is, het betreffende php-script bijv. na 30 seconden automatisch afgebroken wordt ? Dus hoe implementeer ik een bepaalde time-out beveiliging in de php scripts die in het 'sh' bestand staan ?
Normaal gaat dat via de php 'max_execution_time' geloof ik .. maar die staat in CLI mode nogal hoog (of oneindig).

Kortom: hoe geef je in een sh-script een time-out aan .. En hoe kun je dat in een php script doen.

Ik wil nl. niet dat er allerlei processen blijven hangen in de server.

Het sh script:

code:
1
2
3
4
5
6
7
#!/bin/sh
php -f script1.php
php -f script2.php
php -f script3.php
php -f script4.php
php -f script5.php
php -f script6.php

Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Misschien een tweede cron script maken die een x aantal tijd later runt en eventueel nog runnende php instances killed? killall php ...

Alternatief: timeout kort zetten en dan je php pagina's via je webserver aanroepen met lynx.

[ Voor 8% gewijzigd door Infinitive op 20-06-2004 15:15 ]

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ja ik had iets met 'wget' ook .. maar voordeel van PHP CLI is dat je het lokaal kan draaien .. en je geen urls hoeft te gebruiken. Vond ik wel leuk.

Evt. is er dus een alternatief .. maar ik zou wel es willen weten hoe je time-outs kan definieren

Acties:
  • 0 Henk 'm!

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Of vanuit script niveau, met set timeout?

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Acties:
  • 0 Henk 'm!

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 23-07 18:19
set_time_limit() :?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
De time-out moet je in de cal zetten die je gebruikt om de newsfeeds binnen te halen, waarschijnlijk sock_open() ofzo.

Acties:
  • 0 Henk 'm!

  • JayTaph
  • Registratie: Oktober 1999
  • Laatst online: 30-09-2023

JayTaph

Portability is for canoes.

Je kunt zoiets doen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/sh

timeout () {
  $2 $3 $4 $5 $6 $7 &
  pid=$!
  sleep $1
  kill $pid >/dev/null 2>&1
}

timeout 3 php script1.php
timeout 1 php script1.php param1 param2
timeout 6 php script1.php
timeout 2 php script1.php

Yo dawg, I heard you like posts so I posted below your post so you can post again.


Acties:
  • 0 Henk 'm!

  • BoXie
  • Registratie: Juni 2001
  • Laatst online: 30-03-2023
Ok bedankt !

Ik ga er mee aan de slag
Pagina: 1