Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza Danych + Cron + Skrypt
Forum PHP.pl > Forum > PHP
winiar789
Cześć i czołem Panowie,

Mam dość duży problem nie wiem jak sobie z tym zaradzić ... Posiadam skrypt który
przesyła dużo plików html do serwera, nawet nie trzeba wysyłać html do serwera można bezpośrednio odwołać się do strony.
Ten temat działa dobrze czy odbiorę sobie pliki w postaci html czy też inaczej jest ok.

Problem polega w drugim skrypcie który dodaje wartości z html do bazy danych ( danych jest dużo tzn. plików które trzeba przetworzyć i dodać )
i np jeżeli sobie odpalę skrypt z poziomu przeglądarki - ( mieli , mieli aż doda wszystko i sprawa zamknięta )
zaś gdy już sobie o 1 w nocy ustawię CRON'a ... baza wysiada i się automatycznie wyłącza.

Czy istnieje na to jakiś sposób questionmark.gif
Może w ustawieniach Linuxa ( bazy ) pogmerać ale co ?

Skrypt typowy

  1.  
  2. foreach () {
  3.  
  4. // insert do bazy danych i nic więcej
  5.  
  6. }
  7.  


trzczy
Cytat(winiar789 @ 22.02.2018, 09:04:25 ) *
baza wysiada i się automatycznie wyłącza.

Czym się to objawia? Działa jak kill albo zatrzymanie usługi?
Czy CRON jest jakoś za to odpowiedzialny? Jeżeli wywołasz komendę o 1:00 sam w tym samym środowisku, to usterka nie występuje?
winiar789
100% CPU i wyłączenie usługi ... wywołuje komendę sam z przeglądarki o np. 22:00 i działa - kręci kręci ok a jak już ma wykonać to CRON
wykonuje zadanie rekordy widzę są w bazie danych ale usługa wyłączona jakby jej nie kończył
trzczy
Cytat(winiar789 @ 22.02.2018, 09:54:48 ) *
100% CPU i wyłączenie usługi


to jest interpretacja. Jak sprwdziłęś 100% cpu i jak sprawdziłeś zatrzymanie usługi? Masz dostęp przez ssh?
winiar789
Oczywiście że mam akurat 100 % CPU zauważyłem przez webmin bo mi strona na tym staneła
skad wiedziałem że mysql staną zrestartowałem usułgę myslq i wszystko wróciło do normy

W logach :

Out of memory: Kill Process 13864 ( mysqld) score 8 or sacrifice child
Killed process 13864 (mysqld) total-vm: 1358852kB, anon-rss:68660kB
trzczy
CPU 100% może oznaczać, że mysql ostro zasuwa przy wykonywaniu zadania. Więc wniosek o zatrzymaniu usługi jest pochopny.
Mam 2 pomysły:

1. skoro skrypt php robi to dobrze, a komenda crona źle, to trzeba zadanie crona maksymalnie upodobnić do zadania skryptu php.
2. wyślij jakąś minimalną stronę html do obróbki, np. z treścią
  1. hello world
i zobacz czy cron+baza danych też sobie nie radzą.
Pyton_000
Jeśli odpalasz ten sam plik skryptu to powodem może być to że uruchomienie z CRON nie nakłada na PHP limitów.

W przeglądarce jak odpalasz to być może skrypt po prostu jest ubujany przez php a tobie się wydaje że skończył działanie.
trzczy
Niech CRON wykonuje to samo co twa przeglądarka, czyli:
curl http://domena/file.php
Pyton_000
@trzczy to nie jest rozwiązanie.

Trzeba sprawdzić dlaczego skrypt się wykonuje tak długo w CLI albo dla czego się wywala w przeglądarce.
trzczy
Z tego co rozumiem, to w przeglądarce się nie wywala. A co do odpowiedniej konfiguracji cli, to warto, ale nie wiadomo, czy user ma uprawnienia na hostingu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.