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. 

</p><p>&lt;?php</p><p>$beginning = "25.11.1993";<br /> $ending = date("d.m.Y");<br /> $date = $beginning;</p><p><br />while(strtotime($date) &lt;= strtotime($ending))<br /> {<br /> echo "$date&lt;br /&gt;"; <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-&gt;load($url);</p><p>$valyutalar = $doc-&gt;getElementsByTagName( "Valute" );</p><p><br />foreach( $valyutalar as $valyuta ) <br />{ <br /> $nominal = $valyuta-&gt;getElementsByTagName( "Nominal" ); <br /> $nom = $nominal-&gt;item(0)-&gt;nodeValue;</p><p>$code = trim($valyuta-&gt;getAttribute('Code'));</p><p><br /> $value = $valyuta-&gt;getElementsByTagName( "Value" ); <br /> $val = $value-&gt;item(0)-&gt;nodeValue; <br /><br />//echo "&lt;b&gt;".$code." - " .$val. "AZN\n&lt;/b&gt;&lt;br&gt;-----------------------&lt;br&gt;";</p><p>/*sql */<br /><br />}<br />}<br /> ?&gt;</p><p>

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ı)
 


Yadda saxlama
Kateqoriya: Sual . , . Qısa keçid.

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

(17:31, 18/05/2013 ) #30029

kod əlavəsi.

<?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>"; */


  }
}
   ?>

p.s. sual yazarkən, teqinin içindəki məlumatlar niyə belə əndrəbadi görünür?

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (22:42, 18/05/2013 ) #30040

    Yəqin teqi düzgün qoymursunuz. Sual və şərh kod görüntüsü tamamilə eyni sistemlə işləyir.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(22:45, 18/05/2013 ) #30041

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.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(04:41, 19/05/2013 ) #30058

.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.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

E. Hacı cavab verdi - Proqramlaşdırma - fəlsəfə (21 saat əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (2 gün əvvəl)

Cənab cavab verdi - kurs diplomu ilə işləyə bilərəm? (2 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (5 gün əvvəl)

E. Hacı cavab verdi - Proqramlaşdırma - fəlsəfə (5 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (6 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (7 gün əvvəl)

E. Hacı cavab verdi - Proqramlaşdırma - fəlsəfə (7 gün əvvəl)

kapiltp cavab verdi - Proqramlaşdırma - fəlsəfə (9 gün əvvəl)

Aysu2009 cavab verdi - Azərbaycan əsgər mahnısının sözlərini ingilis dilinə tərcümə etmək (9 gün əvvəl)

Aysu2009 cavab verdi - Atestat almaq üçün ne etmeliyem? (9 gün əvvəl)

Aysu2009 cavab verdi - Azərbaycan əsgər mahnısının sözlərini ingilis dilinə tərcümə etmək (9 gün əvvəl)

Software Developer cavab verdi - Xamaya başqa nə deyirlər? 6 hərflidir (14 gün əvvəl)

Erol34 cavab verdi - Xamaya başqa nə deyirlər? 6 hərflidir (15 gün əvvəl)

Software Developer cavab verdi - Xamaya başqa nə deyirlər? 6 hərflidir (15 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 608 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23295 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024