Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 4.04.2017 Ostrzeżenie: (0%)
|
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ź. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%)
|
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. |
|
|
|
Damian4000 Problem z CRON 4.04.2017, 11:57:09
ohm Można, wystarczy dobry system kolejkowy opracować 4.04.2017, 12:45:10
lukaskolista A
[PHP] pobierz, plaintext <?phpset_time_limit... 4.04.2017, 14:06:37
Damian4000 Dzięki za odpowiedzi ;-)
set_time_limit nie pomóg... 4.04.2017, 16:27:40 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 08:48 |