Autor | Zpráva | ||
---|---|---|---|
Peet Profil |
#1 · Zasláno: 26. 12. 2017, 16:38:32
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 |
#2 · Zasláno: 26. 12. 2017, 18:17:33
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 |
#4 · Zasláno: 26. 12. 2017, 22:09:49
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 |
#5 · Zasláno: 26. 12. 2017, 22:44:39
Ok diky, pouzivam Nette, mrknu na to. diky za nasmerovani
|
||
M4n Profil * |
#6 · Zasláno: 27. 12. 2017, 00:04:50
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 |
#7 · Zasláno: 27. 12. 2017, 01:07:18
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 |
#8 · Zasláno: 27. 12. 2017, 16:22:06
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. |
||
Časová prodleva: 5 let
|
0