Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z CRON
Forum PHP.pl > Forum > PHP
Damian4000
Witam wszystkich forumowiczów ;-)

Mam do was ogromną prośbę. Chciałbym abyście pomogli mi w rozwiązaniu problemu, na jaki trafiłem. Zasugerowali jakieś rozwiązanie, bo z pewnością istnieje ;-)

Problem dotyczy zadań cron. Generalnie importuje on dane z pliku xml do bazy danych.
Wszystko działa jak powinno, natomiast pojawił się problem, gdy przyszło mu zaimportować duże pliki. Przestał on pracować, mimo że nie skończył zadania.

Próbowałem użyć ini_set('max_execution_time', 0); i pisałem nawet do pomocy hostingu. Otrzymałem odpowiedź, że domyślny wynosi limit max_execution_time = 30.
I wygląda, że jest zbyt krótki.

Szukam więc rozwiązania na obejście tego problemu.
Teoretycznie jednym z pomysłów jest serwer dedykowany, ale są to spore koszty jak na początek, brać serwer dedykowany tylko z tego powodu to chyba przesada.

Może to głupie pytanie, ale nie można napisać jakiegoś skryptu, który będzie uruchamiany przez cron ale będzie działał w tle do zakończenia całej pracy?

Z góry dziękuję za opdowiedź.
ohm
Można, wystarczy dobry system kolejkowy opracować smile.gif
lukaskolista
A
  1. <?php
?
Damian4000
Dzięki za odpowiedzi ;-)

set_time_limit nie pomógł z tego względu, że hosting kei ma ograniczenia i tylko oni mogą je zmieniać.

Co do zastosowania kolejki to już mam zadania rozbite na 15 plików i wciąż brakuje.

Na innym forum otrzymałem podpowiedź aby skorzystać z VPS. W ovh podobno nie ma limitu i tam przenieść pliki crona, aby nie przenosić całej strony.
Tutaj koszty są do zaakceptowania. Jakieś 12 zł netto miesięcznie. Pytanie czy nie ma lepszego rozwiązania? Co sądzicie?
adbacz
Zrób to na dwa razy:

1. Załaduj plik XML - ładowanie pliku nie zajmie dużo, PHP ładnie z tym działa - i podziel go na paczki po 10, 100, 500 rekordów do osobnych plików XML. nastepny raz zrobi to, gdy nie będzie juz żadnych plików podzielonych.
2. Zapodaj CRONa który będzie sprawdzał czy są te małe paczki w katalogu. Pobierze pierwszy plik, zapisze jego dane do DB i go usunie i tak dopóki katalog będzie pusty.
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.