Jump to content
php.lv forumi

php konsoles interpreteris gljuko...


Recommended Posts

Posted
uzliec sākumā

set_time_limit(0);

 

pēc defaulta pēc 30 sekundēm nomirst

19070[/snapback]

 

hmm, man kautkas shepat forumaa teica, ka interpreterim neesot limits.. un tas skripts starpcitu nenomirst katru reizi vienaa laikaa, biezhi vinjs nodarbojas dazhas dienas un tikai tad kautkad nospraagst..

Posted (edited)

Venom: http://lv.php.net/manual/en/features.commandline.php

(Table 43-1. Overridden php.ini directives)

max_execution_time 0 (unlimited)

 

andrisp: a kā viņš nomirst? Ar erroru kautkādu, vai vienkārši iziet ārā klusēdams?

Moš tev tur atmiņa leako. Pamēģini darīt piemēram mysql_free_result pēc kverija datu apstrādes. Izdrukā pirms cikla/pēc cikla memory_get_usage() un salīdzini ciparus.

Edited by bubu
Posted

bet mysql timeouts? + palabo "perlus"

while(1 == 1) => while(true)
"$datubaze" => $datubaze
$rez[persona] => $rez['persona']

+ skripts ja nevarēs piekonektēties, atlieksies turpat uz mysql_connect, liec error-supressingu:

if (!($serveris=@mysql_connect ( $servera_ip, $lietotajs, $parole )))
=> if ( empty ( $serveris ) ) un ja nu resource handlam tiks piešķirts kārtas numurs 0? tad jau vismaz
if ($serveris===false)

 

un takal, ja jau tev loops, tad die nedrīkst izmantot - atslēgs skriptu uz visām reizēm, labāk liec sleep un contunue

Posted

Cik saprotu pēc tā, kā tu viņu izsauc (php fails.php &) tev ir linux-veidīga operētājsistēma. Vai nav prātīgāk to skriptu likt nevis ciklā ar while (1 = 1), bet vienkārši iemānīt iekš cron? Tb. tu katru skripta ciklu laid reizi 3 stundās tad nu vienkārši ņem un laid viņu no cron šādi:

 

* */3 * * * php /celjsh/uz/failu/fails.php

 

(protams, neaizmirsti novākt to while ciklu tādā gadījumā)

 

Šādi tu atmiņas resursus (lai arī nelielus), tomēr ietaupītu un tad nebūtu jāuztraucas, ka skripts pēc kāda laika nosprāgst.

 

Nosprāgšana var būt kāda atmiņas apgabala neatbrīvošanas dēļ vai kādu citu iemeslu dēļ. Ja ir tā, kā tu saki, ka skripts reizēm nosprāgst tikai pēc pāris dienu darbības, tad godīgi sakot atrast problēmas cēloni varētu būt pagrūti.

Posted
un pret to līdz set_time_limit(0); ? :)

19074[/snapback]

nē, bet ja jau tas nau, tad vb tur. Ko, jau pajautāt nedrīxt? :angry: :blink: :lol:

Posted

bubu: izchekoju log failus, neko nevareeju atrast, kas vareetu buut saistiibaa ar manu skriptu, taakaa pienjemu, ka vinjs nomirst klusiiteem...

 

Venom: pielaboshu skriptu peec taviem ieteikumiem.. hmm, bet ko noziimee "perli"? bet vai tad vispaar varbuut mysql connection timeout ? skripts piesleedzas un atvienojas katru reizi veidojot jaunu savienojumu..

Posted

es domāju - vb pārāk daudz datu, jo tev itkā var sanākt ka ar katru palaišanas reizi nolasīto datu paliek arvien vairāk un vairāk, vismaz varētu kautkā atzīmēt log'us, kuri tika apziņoti (update set sent=1/delete)

 

NB: OR atr_laiks = '' OR atr_laiks = ' ' var aizvietot pret TRIM(atr_laiks)=''

 

perli - ironisks kļūdu apzīmējums. bez ironiskuma tā parasti apzīmē kautko izcilu, e.g. dzejas rindiņas, u.c. "literārās izvirtības"

Posted

man ar liekas, ka ar crontabu, kā Kaklz teica, būtu drošāk ka scripts kaut kad nenomirst gaidot kaut ko. un pie servera reboota, katru reizi ar roku startēsi?

×
×
  • Create New...