Autor Zpráva
Peet
Profil
Zdravim,

chci se ciste teoreticky zeptat, co je lepsi reseni z obecneho hlediska,

potrebuji nacitat pomerne velke mnozstvi xml feedu, proto me napada budto nastavit u projektu execution_time treba na 3 hodiny (s rezervou) a nechat ho v klidu bezet a nebo nemenit execution_time a zaznamenavat si ktere feedy se nacetly, postet cron co 5 minut a takto je postupne zpracovavat.

Bude vykonove nejky rozdil ? Co je lepsi reseni ?

Diky za info.
Keeehi
Profil
Peet:
Nejlepší je použít frontu a co jeden soubor, to jeden job ve frontě.
Peet
Profil
takze kdyz stahuju cca 150 feedu, tak bych mel mit 150 zapnutych cronu ? To je trosku masakr. V cem je neefektivni povolit jednomu skriptu dlouhy execution time a nechat ho jet ?
Keeehi
Profil
Peet:
takze kdyz stahuju cca 150 feedu, tak bych mel mit 150 zapnutych cronu ?
Nic takového jsem neřekl. Já psal o frontách, tak si o tom něco přečti. Například takto fungují v Laravelu a jiné frameworky to mají podobně. Také existují samotné knihovny, které se starají o obsluhu front a bude u nich pravděpodobně jednodušší je integrovat, pokud tvůj projekt žádný framework nepoužívá.
Peet
Profil
Ok diky, pouzivam Nette, mrknu na to. diky za nasmerovani
M4n
Profil *
Proč do toho motat execution time a podobné limity? PHP scriptu běžícího z konzole se žádné časové limity netýkají, může běžet třeba půl roku. Pro tvou Nette aplikaci to bude znamenat jen přidání jedné CLI routy a zavolání potřebného presenteru. Klidně nech zpracovat celý job najednou, pokud je to ve výkonových možnostech serveru.
Keeehi
Profil
M4n:
PHP scriptu běžícího z konzole se žádné časové limity netýkají
Může a nemusí, záleží na nastavení.

Klidně nech zpracovat celý job najednou, pokud je to ve výkonových možnostech serveru.
Fronta poskytuje lepší možnosti ovládání. Pokud jeden z Jobů selže, je možné ho třeba nechat automaticky spustit znovu a nemusí se s ním spouštět i těch 149 dalších.
Peet
Profil
Diky za tip.

Pokud to chapu spravne, tak cesta pres CLI by byla napr. Kdyby/Console a cron na jediny presenter, ktery pobezi treba 3 hodiny, to si dokazu predstavit.

Zkousel jsem najit neco ohledne front a Nette, ale zatim jsem nic moc nenasel.
M4n
Profil *
Keeehi:
Může a nemusí, záleží na nastavení.
Nastavení čeho? Podle CLI PHP je max_execution_time vždy neomezený. No matter what.


Peet:
V Nette existuje CLI Router, můžeš ho přidat mezi ostatní routy a pak volat presentery a views přímo z konzole.
Nevím jestli je nutné řešit nějakou komplikovanou frontovou disciplínu, tady budeš mít normální FIFO, což zvládne obyčejné pole. Ale to co píše Keeehi je pravda – nebude na škodu si pamatovat poslední operaci, kdyby se něco podělalo, abys nezačínal od začátku.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: