![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 19.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam
napotkałem taki problem i nie wiem jak za bardzo to rozwiązać. Skrypt przetwarza pliki w sposób automatyczny wrzucam i mogę wyjść ze strony. Problem w tym że jak się "rozhula" to następny użytkownik traci możliwość wejścia na stronę bo strona się kręci i kręci aż do momentu zakończenia działania skryptu w tle. Jak pohamować zapędy skryptu na moc obliczeniową? albo coś w tym stylu. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Opisz trochę dokładniej jak działa ten proces.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 19.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Wrzucam plik tekstowy (lista m3u), może mieć kilka kilka kB albo MB
plik jest rozbierany na czynniki pierwsze linia po lini poniżej próbka #EXTINF:-1 group-title="podstawowe" tvg-id="" tvg-name="" tvg-logo="WP_TV.png",WP TV https://av-cdn-1.wpimg.pl/tv24/ngrp:wp1/chu...t_b1628000.m3u8 Sprawdzane jest czy każda linia pasuje do wzorca tj czy ma nazwe, czy nazwa pasuje do bazy danych czy jest adres url Jeżeli tak to tworzy tablice temp , jak to skończy dodaje do głównej bazy danych usuwając duplikaty url i dodając adres obrazka i epg. W oddzielnym skrypcie sprawdza czy url jest czynny czy nie i usuwa wadliwe tabele a na koniec generuje jeden plik z podstawionymi danymi Raz dziennie w nocy o północy będzie analizował bazę danych pod kontem ważności linków, jak padnięty to aut z bazy danych i generowanie listy od nowa i problem jest przy analizowaniu pliku wsadowego bo ma dużo do roboty. Sprawdzę z usleep Jakie czasy proponujecie 100-200ms ? czy dłużej |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale sam plik wysyłasz po prostu skryptem a potem jakiś cron to mieli czy przez Ajax pakujesz asynchronicznie?
Bo ja bym to zrobił na zasadzie crona. Czyli robisz upload pliku do jakiegoś katalogu. Potem cron co 1 min odpala skrypt który mieli po 1 pliku. Dodatkowo do ustawia lock tak aby kolejny cron nie zadziałał dopóki ten się nie skończy. W ten sposób nie powinieneś mieć problemów. Chyba że tu wchodzi w grę moc serwera który to mieli wtedy dodatkowo dokładasz proc_nice() na below normal. i powinno pomóc, |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 19.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Plik wysyłam ajaxem potem mam stronę wyboru czy zrobić to automatycznie czy ręcznie.
Jak auto wysyłam zadanie do pliku php jakie pliki ma przetrawić i na tym się kończy praca użytkownika. W manualu wyświetla pasek postępu potem pokazuje błędne nazwy do poprawy a a koniec można sobie taka listę pobrać. także spróbuje może z tym usleep narazie bo proc_nice wywala mi błąd Fatal error: Uncaught Error: Call to undefined function proc_nice() Nie wiem czy to wina tego ze pod windowsem to mam na xampie? bo jak tak to spróbuje na normalnym serwerze Czy proc_nice(); mam umieścić w pierwszym skrypcie czy w każdym który będzie wywoływany z tego pierwszego ? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat proc_nice() will only exist if your system has 'nice' capabilities. 'nice' conforms to: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3. This means that proc_nice() is not available on Windows. Swoją drogą właśnie przeglądam changelog PHP 7.2 i jest: Cytat proc_nice() is now supported on Windows platforms.
Ten post edytował viking 10.06.2017, 08:11:16 -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 19.06.2015 Ostrzeżenie: (0%) ![]() ![]() |
Wracam do tematu
1 Mam PHP 7 2 To nie o to tu chodzi, skontaktowałem się z hostingiem i mi powiedzieli że wszystko działa OK (obciążenie) a problemem jest limit procesów php równy 4 Co kolwiek to znaczy to jest problemem. I co z tym fantem teraz zrobić? i o co w ogóle z tymi limitami chodzi czy uruchomienie 4 razy pliku nazwa.php czy to jakoś inaczej działa Nie rozumiem jednej zeczy jakim cudem w trybie manualnym gdzie pokazuje sie pasek postępu użytkownikowi można kilka stron otworzyć i jest ok. Ten post edytował sasiadstar 10.06.2017, 09:08:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:49 |