php-də maximum execution limit-i artırmaq

dostlar, salam.  bu səhifdəki skripti optimallaşdırmaq istəyirəm. məzmun budur ki, milli bankın (mərkəzi bank? :)) valyuta indeksləməsinə başladığı 25 noyabr 1993-cü ildən bu günə qədər olan bütün valyuta məzənnələrini götürüb bazaya qeyd etmək istəyirəm.  xml faylların parsinqi üçün aşağıdakı kosu yazdım. 

[code]</p><p><?php</p><p>$beginning = "25.11.1993";<br /> $ending = date("d.m.Y");<br /> $date = $beginning;</p><p><br />while(strtotime($date) <= strtotime($ending))<br /> {<br /> echo "$date<br />"; <br /> $date = date ("d.m.Y", strtotime("+1 day", strtotime($date)));</p><p>$url = "http://www.cbar.az/currencies/" .$date. ".xml";</p><p><br />$doc = new DOMDocument();</p><p>$doc->load($url);</p><p>$valyutalar = $doc->getElementsByTagName( "Valute" );</p><p><br />foreach( $valyutalar as $valyuta ) <br />{ <br /> $nominal = $valyuta->getElementsByTagName( "Nominal" ); <br /> $nom = $nominal->item(0)->nodeValue;</p><p>$code = trim($valyuta->getAttribute('Code'));</p><p><br /> $value = $valyuta->getElementsByTagName( "Value" ); <br /> $val = $value->item(0)->nodeValue; <br /><br />//echo "<b>".$code." - " .$val. "AZN\n</b><br>-----------------------<br>";</p><p>/*sql */<br /><br />}<br />}<br /> ?></p><p>[/code]

aydın məsələdir ki, skripti bir dəfə işə salmaqla bu qədər məlumatın parsinqini aparmaq utopik bir şeydir (ən azı 6000 iş günü var) - hardasa bir yerdə, server bu qədər məlumatı emal etməyi dayandıracaq.  bunu əməliyyatı php ilə optimal variantda necə edə bilərəm?  
(php.ini-də max execution limit-i -1 etdim, lakin  bir müddət sonra yenə dayandı)
 


Verilmiş cavablar və yazılan şərhlər (4 cavab var)

VendeTTA (2013-05-19 04:41:03)
.htaccess-də php_value max_execution_time 86400 yoxlamaq olar. Alınmasa serverdə axtarmaq lazımdı həlli. Bəzən Nginx + Apache serverlərdə nginx.conf -da limit olur. Bu halda proxy_read_timeout artırmaq lazımdır.

E. Hacı (2013-05-18 22:45:39)
Həll üçün bir çox metodrlar düşünmək olar. Məsələn 1. Server Cron Job qurmaq və hər dəqiqədə bir və bir neçə tarixi emal etmək. Bir neçə saata və ya 1-2 günə nəticə hazır olacaq. 2. Sadəcə Ajax kodu yazıb səhifəni brauzerdə açıq qoymaq, o səhifə hər X saniyədə bir yeni request göndərsin DATE parametri ilə, hər requestdə date bir gün çoxalsın. Belədə də bir neçə saata nəticə hazır olar.

E. Hacı (2013-05-18 22:42:35)
Yəqin teqi düzgün qoymursunuz. Sual və şərh kod görüntüsü tamamilə eyni sistemlə işləyir.

marmeladze (2013-05-18 17:31:35)
kod əlavəsi. [code]<?php $beginning = "25.11.2013"; $ending = date("d.m.Y"); $date = $beginning; while(strtotime($date) <= strtotime($ending)) { echo "$date<br />"; $date = date ("d.m.Y", strtotime("+1 day", strtotime($date))); $url = "http://www.cbar.az/currencies/" .$date. ".xml"; $doc = new DOMDocument(); $doc->load($url); $valyutalar = $doc->getElementsByTagName( "Valute" ); foreach( $valyutalar as $valyuta ) { $nominal = $valyuta->getElementsByTagName( "Nominal" ); $nom = $nominal->item(0)->nodeValue; $code = trim($valyuta->getAttribute('Code')); $value = $valyuta->getElementsByTagName( "Value" ); $val = $value->item(0)->nodeValue; /* echo "<b>".$code." - " .$val. "AZN\n</b><br>-----------------------<br>"; */ } } ?>[/code] p.s. sual yazarkən, [code][/code] teqinin içindəki məlumatlar niyə belə əndrəbadi görünür?