cURL via cronjobs zonder timeout.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij in één van onze vier scrumteams. Met 30 ontwikkelaars werk jij aan de doorontwikkeling van ons core product. Ook werkt jouw team aan maatwerkoplossingen op aanvraag van de klant en op projectbasis. Wij vinden het erg belangrijk dat onze ontwikkelaars met plezier naar werk gaan. Een deel hiervan ligt uiteraard bij jezelf, als jij ontwikkelen niet leuk vindt, ben jij bij ons echt aan het verkeerde adres. Jouw team bestaat namelijk uit een groep gepassioneerde vakidioten die dit werk doen omdat dit eerst een hobby was! Daarnaast wordt er intern rekening gehouden met

Bekijk vacature »

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

.net developer

Hoi! Wij zijn auto.nl en wij verkopen auto's online. je bestelt bij ons een auto net zo makkelijk als een spijkerbroek. En bevalt ie niet? Dan stuur je 'm gewoon weer terug. En dat we dat goed doen bewijst onze hoge klanttevredenheid van een 9,3. Nu maken we de volgende stap bij auto.nl. We starten met fysieke winkels. Online zoeken, offline bekijken. Maar nog altijd, geen gedoe! Gewoon eerlijk, transparant en zonder zorgen een auto kopen.. Maar om dat waar te blijven maken en nóg beter te worden, zoeken we uitbreiding van ons development team. Wat ga je precies doen?

Bekijk vacature »

Frontend Developer Vue Nuxt HBO Javascript

Samengevat: Deze werkgever levert elke dag betere digitale gebruikerservaringen. Ben jij geschikt als frontend Developer? Heb je ervaring met Vue en Nuxt? Vaste baan: Front-End Developer HBO €3.100 - €4.600 Zij bieden opdrachtgevers een complete dienstverlening op gebied van ontwerpen en ontwikkelen van websites, zoekmachine optimalisatie, online adverteren, content marketing en conversie verbetering. Zij werken met een eigen ontwikkeld CMS. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

.NET Developer

Functieomschrijving Ben jij klaar voor de volgende stap in jouw carrière? Kom werken bij dit kleine softwarebureau en werk aan de gaafste maatwerk projecten. Je komt te werken in een klein development team en werk nauw samen met elkaar, om maatwerk software te leveren en bij te dragen aan bedrijfsautomatiseringen. Je gaat werken met de Microsoft stack en technieken als .NET, C#, Entity, MVC, SQL server. In de functie krijg je veel vrijheid om zelf beslissingen te nemen en je hebt impact op de bedrijfsprocessen. Bedrijfsprofiel Dit familiebedrijf bestaat al ruim 20 jaar. Zij hebben een vast netwerk van klanten,

Bekijk vacature »

Ervaren C#.NET programmeur

Functieomschrijving Voor een moderne werkgever in regio Prinsenbeek zijn wij op zoek naar een ervaren C#.NET programmeur die graag de uitdaging aangaat. Je houdt je bezig met het ontwikkelen van maatwerk webapplicaties voor diverse klanten, waarbij complexe processen optimaal worden ondersteund. Verder ziet jouw takenpakket er als volgt uit: Ontwikkelen en onderhouden van C#.NET-applicaties; Schrijven van hoogwaardige, herbruikbare codes; Schrijven van technische documentatie en gebruikershandleidingen; Bijdragen aan het ontwerp en de architectuur van softwaretoepassingen; Troubleshooten en oplossen van bugs in softwaretoepassingen; Werken met databases en dataopslagoplossingen; Implementeren van beveiligingsoplossingen en het waarborgen van de beveiliging van applicaties en gegevens. Bedrijfsprofiel

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

Software developer - C Sharp

Functie omschrijving Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Wij zijn voor een leuke opdrachtgever in omgeving Naaldwijk op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Wij zoeken iemand die breed inzetbaar is en die aan veel verschillende applicaties wilt werken. Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »
- Ariën  -
Beheerder

- Ariën -

05/06/2019 14:34:04
Quote Anchor link
Een simpele vraag, waarvan ik even niet weet hoe ik dit uit moet zoeken, en misschien iemand wel weet hoe dit technisch in elkaar steekt:

Wat gebeurt er met de processen als je een veel gedraaide cronjob draait (elke vijf minuten, direct naar php, geen wget) met een PHP-script die een curl-request doet, die vervolgens blijft wachten op een request. Hoelang blijven deze instances bestaan? En wat als je de webserver of PHP-FPM een reboot geeft? Gaan die instances dan ook allemaal gekilld worden, of moet je dan je hele server even een reboot geven?

Een tip voor een ieder die meeleest: Gebruik een timeout in je curl:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); //timeout in seconden, 0 is oneindig
?>
Gewijzigd op 05/06/2019 14:48:56 door - Ariën -
 
PHP hulp

PHP hulp

28/04/2024 17:21:17
 
Thomas van den Heuvel

Thomas van den Heuvel

05/06/2019 16:13:29
Quote Anchor link
Waarom via cURL, en niet een crontab?
En als je niets doet met een response, waarom zou je hier dan op wachten? Volgens mij zijn er opties om enkel het request te doen, zonder op een response te wachten.

Dan is het zaak dat je ook een mechanisme hebt dat detecteert wanneer een cron (niet) is uitgevoerd, anders heb je wellicht niet in de gaten dat er dingen misgaan. Maar dat is een apart probleem, met een aparte oplossing.

Ik neem aan dat je een cURL-request naar een externe bron doet? Zijn er geen andere/betere manieren om dit te doen?

En wat ben je precies aan het doen? Roep je een webservice aan? Of ben je aan het scrapen?
 
- Ariën  -
Beheerder

- Ariën -

05/06/2019 16:23:28
Quote Anchor link
Een crontab die via een php-script via php zelf een curl request naar een webservice doet, omdat er via PHP er nog wat scripts moeten plaatsvinden (data in database plaatsen etc)).

Maar wat gebeurt er met die instances dan die eindeloos doordraaien als de webservice niet reageert? Gaan die een keer toch gekilld worden, of blijven die draaien totdat de server gerestart wordt?
 
Ivo P

Ivo P

05/06/2019 17:02:24
Quote Anchor link
PHP heeft in cli mode geen timeout.

een script als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php  while(true) {} ?>
zal dan ook eindeloos blijven door draaien.

PHP zou dan ook op een curl-request eindeloos kunnen blijven wachten als die niet zelf een (fatal) error opwekt na verloop van tijd.

Dus ja: als dat niet de bedoeling is, zou een timeout op je curl request handig zijn.

Zeker bij de connectie zou je een timeout moeten instellen. Hoe lang je vervolgens wilt wachten op de output van de remote server als je je request gedropt hebt, is een andere timeout.
 
- Ariën  -
Beheerder

- Ariën -

05/06/2019 17:07:01
Quote Anchor link
@Ivo P: En die instances dan? Blijven die openstaan? Of gaan die ooit nog eens weg? Of pas als je die handmatig killt of de server zelfs herstart?
 
Ivo P

Ivo P

05/06/2019 17:14:40
Quote Anchor link
Zo lang je script draait, blijft het proces bestaan.

dus als

aap.php =
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php while(true) {} ?>


dan zal
$ php aap.php &

je script starten en dat draait door. (in dit geval zal hij stoppen als de user uitlogt, maar in geval van een cronjob, is dat niet van toepassing).

Je kunt dan met bijvoorbeeld

$ pkill -f aap.php

je script stoppen. Of eerst uitzoeken welke Process ID je moet hebben als er meerdere instanties van dat script draaien. En dan kun je "kill" gebruiken.

Je script stopt, los van onder dwang van "kill"
* als de uitvoering klaar is (einde script)
* er exit() of die() wordt aangeroepen
* er een fatale fout optreedt.

En aangezien er geen timeout van toepassing is, komt een fatale fout niet voort uit een teveel gebruik aan tijd. En ook wbt Memory zou je je bewust moeten zijn van de risico's. Ik vraag me af wat daar de limieten zijn.
 
- Ariën  -
Beheerder

- Ariën -

05/06/2019 17:21:47
Quote Anchor link
Ik heb wel begrepen dat de limieten met curl op 5 minuten liggen. Ik zal eens een kijken wat er aan PHP processen draaien.
 
Ivo P

Ivo P

05/06/2019 17:24:58
Quote Anchor link
ps -Af | grep php
 
- Ariën  -
Beheerder

- Ariën -

05/06/2019 17:40:43
Quote Anchor link
ps aux | awk '{print $6/1024 " MB\t\t" $11}' | sort -n -r

Dit vond ik wat interressanter, om meteen het geheugenverbuik te zien. Grep op PHP had ook gekund, maar ik toch liever even wat meer zien... ;-)
 
Thomas van den Heuvel

Thomas van den Heuvel

05/06/2019 19:20:52
Quote Anchor link
Weet niet of het verstandig is dat je timeouts zodanig zijn (10 mins?) dat deze de frequentie van het uitvoeren van het script (elke 5 mins?) overstijgen. Kans bestaat dan dat de uitvoering van scripts gaat overlappen.

Als je dan ook nog database-bewerkingen uitvoert die niet in een transactie staan dan wordt dat al snel een grote puinhoop. Waarschijnlijk wil je dat te allen tijde maximaal één zo'n script actief is. In dat geval wil je een soort van semafoor inbouwen die dit garandeert.

Ook zou je natuurlijk kunnen kijken naar efficiëntie, een ruimere periode voor de uitvoering van een "run", en eventueel meer sensoren (of op zijn minst een log) die de uitvoer in de gaten houden.
 
- Ariën  -
Beheerder

- Ariën -

05/06/2019 20:09:36
Quote Anchor link
Dat lijkt mij een goed idee. Ik al er eens naar kijken.
Maar nog belangrijker is: Waarom krijg ik een time-out. Blijkbaar blokkeert de webservice mij?
 
Thomas van den Heuvel

Thomas van den Heuvel

05/06/2019 22:37:52
Quote Anchor link
> Waarom krijg ik een time-out. Blijkbaar blokkeert de webservice mij?
Log je een response? Die kan wellicht meer info geven.
Of wellicht strandt het schip eerder, kun je de service wel bereiken?
Gewijzigd op 05/06/2019 22:38:55 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

05/06/2019 22:50:51
Quote Anchor link
Nee, het lijkt erop dat ik die niet kan bereiken, maar thuis op mijn pc wel.
 
- Ariën  -
Beheerder

- Ariën -

08/06/2019 16:00:41
Quote Anchor link
Ik heb inmiddels contact opgenomen met de partij, en in de tussentijd tot ik reactie heb, gebruik ik een proxy via een kennis.

En uiteraard nu in de curl-request een timeout meegegeven. Later ga ik even een semafoor inbouwen die dit beter logt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.