Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2017-04-11 15:08:31

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Witam,

Mam takie dwie sprawy,
czy można wydłużyć wykonywanie pętli while ( np aby każdy krok miał 10 sekundowa przerwę? )
Wykonuje zapytanie do bazy danych - dane wykonywane są standardowo za pomocą while'a
ale zaszła potrzeba aby kolejny rekord sprawdzony został dopiero po 10-ciu sekundach.

Druga sprawa to php. Pamiętacie paramert w php.ini odpowiadający za długie wykonywanie skryptów?
Chodzi o to że skrypt może się wykonywac z 20 minut. Tak zeby nie przerwało mi pracy przez jakiś zbyt nisko
ustawiony parametr a nie pamiętam który dokładnie za to odpowiadał.
pozdrawiam


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#2  2017-04-11 15:54:20

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

1. sleep
2. max_execution_time
3. Jest taka fajna strona, nazywa się php.net, naprawdę uważasz że to forum jest interfejsem do tej strony?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#3  2017-04-11 15:59:18

  multim - Użytkownik

multim
Użytkownik
Zarejestrowany: 2015-08-29

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Ad. 1 [url]http://php.net/manual/en/function.sleep.php[/url]

Offline

 

#4  2017-07-13 15:14:20

  woowoowoo - Nowy użytkownik

woowoowoo
Nowy użytkownik
Skąd: wrocław
Zarejestrowany: 2017-07-13

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

długie skrypty, jeśli jest taka możliwość, lepiej podzielić na krótsze segmenty i odpalać kawałkami z crona

Offline

 

#5  2017-07-13 15:23:57

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Mistrzu, uświadom nas maluczkich, jako to z crona odpalić cokolwiek co 10 sekund...
BTW od dawna jestem przekonany że tzw. "programiści PHP" mają pewne problemy z logicznym myśleniem... I jakoś wszyscy mi udowadniają że mam rację.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#6  2017-07-13 15:33:29

  woowoowoo - Nowy użytkownik

woowoowoo
Nowy użytkownik
Skąd: wrocław
Zarejestrowany: 2017-07-13

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

20 minut wykonywania skryptu można spokojnie podzielić i odpalić z crona

Ostatnio edytowany przez woowoowoo (2017-07-13 15:35:30)

Offline

 

#7  2017-07-13 15:39:50

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Właśnie utwierdziłeś mnie w moim przekonaniu o jakości myślenia tzw. "programistów PHP".


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#8  2017-07-13 15:44:34

  woowoowoo - Nowy użytkownik

woowoowoo
Nowy użytkownik
Skąd: wrocław
Zarejestrowany: 2017-07-13

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

dobry argument i niezły wkład do tematu.. ale może nie róbmy już OT?

Offline

 

#9  2017-07-13 15:53:17

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Sam zrobiłeś i teraz cierp.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#10  2017-07-13 17:29:42

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

[quote=ethanak]Mistrzu, uświadom nas maluczkich, jako to z crona odpalić cokolwiek co 10 sekund...
BTW od dawna jestem przekonany że tzw. "programiści PHP" mają pewne problemy z logicznym myśleniem... I jakoś wszyscy mi udowadniają że mam rację.[/quote]
Najkrótszy dowcip programisty świata? Programista php.

Ostatnio próbuje zastąpić takie cudaki tym: http://supervisord.org/configuration.html


[img]https://l0calh0st.pl/obrazki/userbar.png[/img]

Offline

 

#11  2017-07-16 11:11:16

  lis6502 - Łowca lamerów

lis6502
Łowca lamerów
Skąd: Stalinogród
Zarejestrowany: 2008-12-04

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Mistrzu, uświadom nas maluczkich, jako to z crona odpalić cokolwiek co 10 sekund...[/quote]
Zaschedulować co minutę odpalanie skryptu, w którym zabudowany jest mechanizm odpalania innego skryptu co 10 sekund
coś w stylu

Kod:

#!/bin/bash
count=0; while [ $count -lt 5] ;do
        bash ~/właściwy_skrypt &
        sleep 10
        $((count++))
        done

pisane z czachy więc moze nie działać, ale ideę rozumiecie xD

Offline

 

#12  2017-07-16 15:46:22

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Rozumiemy. I nie popieramy.


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#13  2017-07-19 09:48:08

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

@ethanak, myślisz, że jesteś guru programowania i wszystko co tobie się nie podoba to jest debilne i chore umysłowo. takich ludzi jak ty NIE TRAWIE! A jeżeli chodzi o crona to proszę bardzo:

Kod:

*/5     *       *       *       *       /home/.cronjobs/statistics.php all 2> /stat.log

tam niema żadnego skryptu który uruchamia kolejny skrypt. Wystarczy w pierwszej linijce napisać jaki parser ma się uruchomić, nota bene tak samo robi się w ... Bashu??? O matko jedyna, nie może być...

Druga sprawa, jesteś taki mądry a nie wiesz, że php wywodzi się z perla? jeżeli dla ciebie to są ludzie umysłowo chorzy to tak samo myślisz o osobach programujących właśnie w perlu, bashu sh itd. Bo to wszystko są języki skryptowe. "góró".

Po trzecie, jeżeli jesteś taki cwany to podaj mi przykład napisanego [b]portalu[/b] w C++ lub w czystym C. czekam na odpowiedź.  Zadna Java (bo tutaj jest J2E, ani C# - .NET, ani też Python). tylko zwyczajne C++. Powtórnie napiszę, portalu anie strony.

Ostania rzecz, Allegro jest napisane w PHP, przez tych umysłowo chorych, autystycznych debili programistów PHP.

to na tyle.


[img]http://intershock.pl/images/icons/freebsd.jpg[/img] [img]http://www.the-eleven.com/site_media/static/img/postgresql_powered.png[/img] [img]http://www.wwgmc.com/images/badge_php.gif[/img]
LRU #480459

Offline

 

#14  2017-07-19 10:23:03

  Bodzio - Ojciec Założyciel

Bodzio
Ojciec Założyciel
Skąd: Gorlice
Zarejestrowany: 2004-04-17
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Panowie - bez wycieczek osobistych proszę


Debian jest lepszy niż wszystkie klony
Linux register users: #359018
[img]http://www.freebsd.org/gifs/powerlogo.gif[/img]
[url=https://goo.gl/photos/5XGKFkvaMimLwM2s9]Beskid Niski[/url]

Offline

 

#15  2017-07-19 14:09:14

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Bez wycieczek osobistych: podana linia odpala skrypt co 5 minut a nie co 10 sekund. Tyle o umiejętności czytania dokumentacji przez "programistów" php.
Osobiście nic do "programistów" php nie mam... Możemy się spotkać w barze, wypić piwo, pogadać o polityce albo o dupach... Tylko aby się nie brali za programowanie.
Aha, interpreter php jest napisany w C i dokładnie tyle ma wspólnego z interpreterem Perla.
A co do portali pisanych w innych językach niż php - youtube wystarczy?

Ostatnio edytowany przez ethanak (2017-07-19 14:11:49)


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#16  2017-07-19 18:44:02

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

[quote=ethanak]Tyle o umiejętności czytania dokumentacji przez "programistów" php[/quote]
popatrz również na siebie..

[quote=jezoo](...)Zadna Java (bo tutaj jest J2E, ani C# - .NET, ani też [b]Python[/b]).[/quote]
Druga sprawa, jeżeli jesteś tak dobry w te klocki to dlaczego , jełopów PHPowców nie oświecisz sam. Ja tylko podałem przykład jak można uruchamiać skrypty php w cron'ie bez używania zewnętrznych skryptów. trzecia sprawa, aby jakikolwiek skrypt uruchamiał się co 10sekund (nawet napisany w pythonie, bashu itd.) to trzeba tutaj zrobić pewien myk. O tym, że w cron;ie najmniejsza jednostka czasu to 1min. to każdy o tym wie.

aby cron wykonywał skrypt co 10sek. to wystarczy taki wpis:

Kod:

* * * * * ( sleep 10 ; /home/.cronjobs/statistics.php all 2> /stat.log )

i na tym zakończę bo już nawet nie chcę pisać o poziomie twoich wpisów.

@Bodzio, ja poprostu musiałem to napisać, ponieważ już nerwowo nie wytrzymałem. Jeżeli ktoś nie ma pojęcia o czymś to niech lepiej się nie wypowiada.


[img]http://intershock.pl/images/icons/freebsd.jpg[/img] [img]http://www.the-eleven.com/site_media/static/img/postgresql_powered.png[/img] [img]http://www.wwgmc.com/images/badge_php.gif[/img]
LRU #480459

Offline

 

#17  2017-07-19 19:01:57

  ethanak - Użytkownik

ethanak
Użytkownik
Skąd: Ungwenor
Zarejestrowany: 2010-07-19
Serwis

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Kurka wodna... ciekawe co ci pechapowcy jeszcze wymyślą... ten język naprawdę wypiera logikę z mózgu czy co?


Nim mechaniczne larum zagrasz mi, kanalio,
głosząc nadejście Javy - śmiertelnego wroga!
[i]Zespół Adwokacki Dyskrecja[/i]

Offline

 

#18  2017-07-19 19:43:33

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

[quote=jezoo]aby cron wykonywał skrypt co 10sek. to wystarczy taki wpis:

Kod:

* * * * * ( sleep 10 ; /home/.cronjobs/statistics.php all 2> /stat.log )

[/quote]
Ty tak na serio? :D

Offline

 

#19  2017-07-19 21:16:11

  arecki - Użytkownik

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Kierunek wydaje się być dobry, skorzystałbym z minutowego interwału crona przy czym rozbudowałbym to do kolejnych linijek z sleep 20, 30, 40, 50, 60.
Tak na pierwszy rzut oka nie widzę aby ta jedna linijka wystarczyła do nieskończonego cyklu 10sek., ale nie jestem programistą php więc może czegoś nie dostrzegam.

Offline

 

#20  2017-07-19 21:28:12

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

Crona pchać do interwału 10 sekund jakimiś operacjami?

Nie wystarczy w bashu pętla

Kod:

while true; do sleep 10; polecenie; done;

Do odpalania skrypta z taką zawartością polecam [b]daemontools[/b].

Przykład odpalania małego robota XMPP napisanego w Perlu:

Kod:

cat /service/robot/run
#!/bin/sh

exec 2>&1
cd /var/lib/robot;
exec /usr/bin/setuidgid robot /usr/local/bin/robotr

Albo troszkę większych "robotów":

Kod:

cat /service/crond/run
#!/bin/sh

exec 2>&1

exec /usr/bin/setuidgid root /usr/sbin/crond -n

Kod:

#!/bin/sh

exec 2>&1
mkdir -p /var/run/mysqld;
chown mysql:mysql /var/run/mysqld;
chmod 1777 /var/run/mysqld;
exec /usr/bin/setuidgid mysql /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf

Kod:

#!/bin/sh

exec 2>&1
NGINX="/usr/sbin/nginx"
test -d /var/run/nginx || mkdir -p /var/run/nginx;
chown nginx:nginx /var/run/nginx;
getcap $NGINX | grep cap_net_bind_service 2>&1>/dev/null || setcap cap_net_bind_service+ep $NGINX
exec /usr/bin/setuidgid nginx  $NGINX -c /etc/nginx/nginx.conf -g 'daemon off;'

Pozdro

Ostatnio edytowany przez Jacekalex (2017-07-19 21:29:50)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#21  2017-07-26 13:46:55

  jezoo - Dzięcioł

jezoo
Dzięcioł
Skąd: Z lasu
Zarejestrowany: 2005-09-02

Re: Wydłuzenie działania while'a oraz parametry php przy długich skryptach

[quote=yossarian][quote=jezoo]aby cron wykonywał skrypt co 10sek. to wystarczy taki wpis:

Kod:

* * * * * ( sleep 10 ; /home/.cronjobs/statistics.php all 2> /stat.log )

[/quote]
Ty tak na serio? :D[/quote]
Nie na serio, chciał w cronie to dałem to co chciał.

Jeżeli chodzi o takie rzeczy to ja robie skrypt w PHP i odpalam w tle  i sobie lata np:

Kod:

define("CLI", 1);
define("DEBUG", false);

use Cli\Worker;

$worker = new Worker();
$worker->enableDebug(true);

// Never ending story
while(true){
    $worker->checkWorker();
    if($worker->start){
        $worker->run();
    }
    sleep(15);
}

A w innych projektach używam funkcji [url=http://php.net/manual/en/function.proc-open.php]proc_open[/url]  oraz [url=http://php.net/manual/en/function.proc-get-status.php]proc_get_status[/url]:

Kod:

<?php

$descriptorspec = array(
    0 => array('pipe', 'r'),
    1 => array('pipe', 'w'),
    2 => array('pipe', 'w')
);
$proc = proc_open('yourcommand', $descriptorspec, $pipes);
$proc_details = proc_get_status($proc);
$pid = $proc_details['pid'];

echo $pid;

[img]http://intershock.pl/images/icons/freebsd.jpg[/img] [img]http://www.the-eleven.com/site_media/static/img/postgresql_powered.png[/img] [img]http://www.wwgmc.com/images/badge_php.gif[/img]
LRU #480459

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.013 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00006 SET NAMES latin2
0.00064 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.249.130' WHERE u.id=1
0.00093 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.249.130', 1734495642)
0.00061 SELECT * FROM punbb_online WHERE logged<1734495342
0.00039 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=29494 AND t.moved_to IS NULL
0.00022 SELECT search_for, replace_with FROM punbb_censoring
0.00474 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=29494 ORDER BY p.id LIMIT 0,25
0.00142 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=29494
Total query time: 0.0091 s