advertentie

Dit forum is niet langer actief. Voor vragen kun je voortaan terecht in de Vraag & Antwoord-rubriek van PCMweb.nl

 

Ga terug   PCM Forum > Scripting > Scripting

Antwoord
 
Discussietools Weergave
Oud 6 December 2009, 21:31   #21
pascallj
PCM Lord
 
pascallj's schermafbeelding
 
Geregistreerd: 4 December 2007
Locatie: Near Leiden, The Netherlands
Berichten: 860
Standaard

Nahja elke cylcus mag van mij ook wat langer duren. Het gaat erom dat hij de nummers binnenhaalt die je op de radio hebt gehoord. En die zijn meestal langer dan 2 minuten. Dus een sleep van 1 minuut is denk ik wel redelijk.

En waar zou ik dat dan met dat sleep in kunnen schrijven? In PHP? En dan zou ik dus gewoon met sleep(60) in PHP (ja ik heb gezocht dat dat inderdaad bestaat) in een oneindige loop alles goed kunnen krijgen? Dat zou wel mooi zijn.

En zou dat niet veel belastend zijn dan? Want het systeem is al een oudje. Weet niet meer precies de specs maar het is geloof ik Pentium II met 128 MB Ram ofzo.
__________________
Greetz, Pascal
pascallj is offline   Met citaat antwoorden
Oud 6 December 2009, 23:39   #22
EdP
PCM Lord
 
EdP's schermafbeelding
 
Geregistreerd: 13 September 2006
Berichten: 4.261
Standaard

sleep() belast nauwelijks. Verwaarloosbaar vergeleken met de verwerking zelf.
__________________
An error has occurred. Hit any user to continue
EdP is offline   Met citaat antwoorden
Oud 7 December 2009, 00:01   #23
gvanvoor
PCM Lord
 
gvanvoor's schermafbeelding
 
Geregistreerd: 26 January 2006
Locatie: De gezelligste stad ter wereld: Gent
Berichten: 928
Standaard

Beide systemen hebben hun voor- en nadelen: in het geval van cron zit je inderdaad met een probleem als de uitvoering langer duurt dan je herhalingsinterval. Bij de versie met de sleep zit je met het probleem dat de applicatie, mocht ze om een of andere reden crashen, niet meer uitgevoerd wordt tot ze herstart wordt.
Het eerste kan je oplossen met iets semafoorachtigs (wat dan weer andere moeilijkheden met zich meebrengt), het tweede met een watchdog die de applicatie herstart als ze niet meer draait (maar dat kan natuurlijk ook mislopen en zo kunnen we blijven doorgaan).
__________________
If you want to work on your computer: buy a PC. If you want to do work on your computer: buy a Mac.
gvanvoor is offline   Met citaat antwoorden
Oud 7 December 2009, 14:35   #24
pascallj
PCM Lord
 
pascallj's schermafbeelding
 
Geregistreerd: 4 December 2007
Locatie: Near Leiden, The Netherlands
Berichten: 860
Standaard

Hmm tsja, nou ja ik zal eerst die met de sleep uitproberen aangezien ik denk dat die het makkelijkst is en als dat niet werkt zal ik kijken voor de crons.
__________________
Greetz, Pascal
pascallj is offline   Met citaat antwoorden
Oud 4 February 2010, 22:39   #25
bee_c4
PCM Lord
 
bee_c4's schermafbeelding
 
Geregistreerd: 5 December 2006
Locatie: -
Berichten: 1.124
Standaard cron

op ubuntu kan je toch ook php scrips uitvoeren in de terminal? (als batchbestand)

in dat geval zal kan je gewoon een cron naar je php bestand maken.
bee_c4 is offline   Met citaat antwoorden
Oud 5 February 2010, 12:30   #26
pascallj
PCM Lord
 
pascallj's schermafbeelding
 
Geregistreerd: 4 December 2007
Locatie: Near Leiden, The Netherlands
Berichten: 860
Standaard

Jep klopt, is idd ook al voorgesteld. Alleen sleep lijkt me toch makkelijker. Goed dat je er over begint want het php-script is af en nu moet nu dus een soort van oneindige loop gaan maken.

Hoe kan ik dat het beste doen? Gewoon iets van: Do Until blabla = 0 en dan zorgen dat blabla nooit 0 is? Maar dan in PHP?
__________________
Greetz, Pascal
pascallj is offline   Met citaat antwoorden
Oud 5 February 2010, 16:11   #27
gvanvoor
PCM Lord
 
gvanvoor's schermafbeelding
 
Geregistreerd: 26 January 2006
Locatie: De gezelligste stad ter wereld: Gent
Berichten: 928
Standaard

PHP-code:

while (true)
{
    
// wat je wil doen
    
sleep(60);

__________________
If you want to work on your computer: buy a PC. If you want to do work on your computer: buy a Mac.
gvanvoor is offline   Met citaat antwoorden
Oud 13 February 2010, 19:06   #28
pascallj
PCM Lord
 
pascallj's schermafbeelding
 
Geregistreerd: 4 December 2007
Locatie: Near Leiden, The Netherlands
Berichten: 860
Standaard

Alsnog bedankt h? . Werkt perfect.

Heb gewoon mijn gehele code (op uitzondering van de database connectie) daar tussen gezet, voer mijn script uit met 'php [naam van pagina].php &' zodat je daarna nog wel verder kan met je bewerkingen en tot nu toe werkt het top.

Duurde wat langer omdat ik eerst problemen had met mijn domein en dat eerst opgelost wilde hebben.


Iedereen die mij heeft geholpen, heel hartelijk bedankt voor deze leerzame ervaring!
__________________
Greetz, Pascal
pascallj is offline   Met citaat antwoorden
Oud 13 February 2010, 20:54   #29
pascallj
PCM Lord
 
pascallj's schermafbeelding
 
Geregistreerd: 4 December 2007
Locatie: Near Leiden, The Netherlands
Berichten: 860
Standaard

Hmm, het lukt me toch niet helemaal om het script op de achtergrond te draaien. Ik dacht dat het werkte maar er bleek dat er nog een 2de process meedraaide waardoor het leek alsof het werkte.

Dus als ik dus 'php [naam van script].php &' doe, geeft hij wel een process nummer maar voert het script niet uit. Ik moet dan eerst: fg, CTRL+Z en weer bg. Kan iemand mij alsnog vertellen hoe het wel moet?

EDIT: Ok? laat maar weer. Ik vraag veel te snel dingen :P. Ik heb het al gevonden.

Ik heb 2 PHP scripts en de ene stuurt de andere aan om hem op de achtergrond te draaien en dan werkt het wel:


PHP-Code: (bv, code.php)
Code:
<?php
//Hier alle PHP code die je wilt laten uitvoeren op de achtergrond.
?>
Start op de achtergrond: (bv, background.php)
Code:
<?php
exec("/usr/bin/php code.php >/dev/null &");
?>
Deze code zorgt ervoor dat alle output naar een 'black-hole' gaat d.m.v. >/dev/null. En & zorgt ervoor dat hij op de achtergrond draait.

Als je nu php background.php uitvoert dan werkt alles naar behoren (als het goed is). Misschien heeft iemand hier nog iets aan.
__________________
Greetz, Pascal

Laatst gewijzigd door pascallj : 14 February 2010 om 10:16
pascallj is offline   Met citaat antwoorden
Antwoord


Discussietools
Weergave

Regels voor berichten
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Forumnavigatie


Alle tijden zijn GMT +1. Het is nu 14:26.



Powered by vBulletin Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Nederlandse vBulletin-vertaling door Alacer beschikbaar gesteld door Applinet.