Köra PHP-skript flera gånger i minuten

Permalänk
Medlem

Köra PHP-skript flera gånger i minuten

Tjena!

Jag har ett PHP-skript som loggar från mitt 1-Wire nät till en MySql databas.

Om jag bara hade behövt varje minut så hade cron fungerat prima, men jag kan behöva köra det oftare eller mer sällan. Det kommer jag att ställa in via web interfacet jag arbetar på.

Ex var 30sekund skulle räcka för vardagligt bruk, men jag kan behöva ex 10sek intervaller vid vissa testkörningar.

Hur loopar jag det på bästa sätt?
Linux ofc.

Visa signatur

Nämns inget annat så menar jag denna maskinen:
ASUS G53SW - Intel i7-2630QM @ 2.00Ghz - 12GB RAM - Nvidia GeForce GTX460M 1.5GB
Intel 510 SSD 128GB - Seagate Momentus XT SSHD 500GB - Windows 7 x64 Ultimate SP1
Chrome v38/latest, Chrome Canary och Firefox for development / debug

Permalänk
Medlem

while(true){ //dinkod sleep(10); //sov i 10 sekunder börja sedan om i whileloopen }

Permalänk
Medlem

cron kan du väl köra ännu oftare än en minut? borde väl gå med en variabel som sätts via web interfacet

Visa signatur

En trött jäkel.

Permalänk
Medlem

Cronjobs som sagt

Visa signatur

GA-P55-UD3 | Intel Core i5 750 @ 4Ghz 24/7 clock med H50 | Vengeance, 8gb @ 1600Mhz | 6950 CF| M4 64gb SSD | Corsair 650W

Permalänk
Medlem

Hur använder man Cron för under en minut?
Alla svar på olika forum är bara att minimum är minuter.

Visa signatur

Nämns inget annat så menar jag denna maskinen:
ASUS G53SW - Intel i7-2630QM @ 2.00Ghz - 12GB RAM - Nvidia GeForce GTX460M 1.5GB
Intel 510 SSD 128GB - Seagate Momentus XT SSHD 500GB - Windows 7 x64 Ultimate SP1
Chrome v38/latest, Chrome Canary och Firefox for development / debug

Permalänk
Medlem

Cron kör la sin egna check var 30:e sekund så ner till 31 sek borde man kunna tycker jag

Visa signatur

Mina poster är en illusion. Det som står skrivet här över står i själva verket inte där så inget av det som du läser är sant. Inte ens den här texten. Jag har själv ingen kunskap om det jag skriver och ingen bör således läsa eller ta in den information som står skrivet.

Permalänk
Medlem

Vad säger

man cron

?

Visa signatur

En trött jäkel.

Permalänk
Medlem

sleep(30); = den somnar i 30 sek!!!

Visa signatur

citera gärna så jag hittar tillbaka!

Permalänk
Medlem

Att loopa skriptet funkar väl inte?
max_execution_time kommer ju att begränsa tiden.

Permalänk
Medlem

Såhär ser min crontab ut nu, men det borde bara ge minuter.
Hur gör jag för sekunder då?

1 * * * * php /var/www/logjob.php >/dev/null 2>&1

Visa signatur

Nämns inget annat så menar jag denna maskinen:
ASUS G53SW - Intel i7-2630QM @ 2.00Ghz - 12GB RAM - Nvidia GeForce GTX460M 1.5GB
Intel 510 SSD 128GB - Seagate Momentus XT SSHD 500GB - Windows 7 x64 Ultimate SP1
Chrome v38/latest, Chrome Canary och Firefox for development / debug

Permalänk
Medlem
Skrivet av Pie-or-paj:

Att loopa skriptet funkar väl inte?
max_execution_time kommer ju att begränsa tiden.

Man kan förlänga den...

Visa signatur

citera gärna så jag hittar tillbaka!

Permalänk
Medlem

Tja du kan ju sätta chrone jobbet att den ska köra skriptet en gång i minuten då om det inte går att få ner det lägre en så.

Sedan själva skriptet kanske gör det den ska göra i så många intervaller under en minut som du vill, och därmed löst. Se till att öka max execution time till 1 minut bara, som standard är det 30 sekunder om jag minns rätt.

Visa signatur

Speldator: i7-8700k, 32GB DDR4, RTX2080
Server 1: SB 2500k, MZI -P67GD55, 32GB DDR3, Corsair MX 240GB SSD
Surface Pro 2017, Konsoler: Typ alla, Oculus Rift

Permalänk
Medlem

Du kan som sagt köra php-scriptet hela tiden och köra sleep mellan mätintervallena. Eller så kan du köra ett bash-script som sover i 30 sekunder och sen kallar på ditt script om du inte lyckas förlänga max_execution_time. Sen kan du ha ett cronscript som ser till att scriptet verkligen körs och inte har crashat en gång i minuten.