by admin » Thu Nov 16, 2023 2:12 pm
Dobry den, je nutne odfiltrovat iba krajiny ktore pouzivate (napr cz/sk) a pouzit rychly hosting (s nvme diskami) a s dostatkom RAM-ky (idealne 4gb pre generovanie pobociek cez web). Tymto sposobom to trva cca 30 sekund. Generovanie pobociek celej europy trva podstatne viac moze vyzadovat aj 10gb RAM a vygeneruje stovky tisic pobociek.
Tento system je optimalizovany pre pracu cez CLI kde nieje obmedzenie pre timeout alebo pre mnozstvo RAM (nacitava to mnozstvo XML-iek ktore su extremne velke).
Spustenie cez CLI:
/usr/bin/php /web/vm2/j4/administrator/components/com_onepage/cli.php --task=opcextcron --override_jroot=/web/vm2/j4/ --debug=1 --myurl=https://php81.rupostel.com/j4/ --return_status_json=0
kde:
/usr/bin/php je kniznica PHP ktora pouziva CLI, t.j. po spusteni z konzoly:
# php -v
vam vygeneruje napr:
PHP 8.2.12 (cli) (built: Oct 26 2023 17:33:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
with Zend OPcache v8.2.12, Copyright (c), by Zend Technologies
with Xdebug v3.2.1, Copyright (c) 2002-2023, by Derick Rethans
Toto je cesta ku spustitelnemu suboru:
/web/vm2/j4/administrator/components/com_onepage/cli.php
Toto su parametre pre CLI prikaz (nieje mozne ich zadat cez URL !!! )
--task=opcextcron --override_jroot=/web/vm2/j4/ --debug=1 --myurl=https://php81.rupostel.com/j4/ --return_status_json=0
t.j:
task: je system v OPC, konkretne opcextcron nacita dopravu a platbu spusti ulohy ktore vyzaduju dlhy cas na generovanie (napr. generovanie pobociek v zasilkovne)
override_jroot: podpora pre symlinkovane, mountovane, chroot-ovane filesystemy, musim smerovat do adresara kt. obsahuje configuration.php z root-a joomly
debug: zobrazi vystup
return_status_json: 0 znamena ze standardny riadkovy vystup je pouzity
hosting musi podporovat CLI (vacsinou cez ssh alebo prostrednictvom cron-u).
tu je tiez nutne poznamenat ze kazda aktualizacia Joomla 4 aktualne znefunkcnila CLI podporu v OPC a je nutne pouzit verziu OPC-ka kompatibilnu s aktualnou verziou J4. Podobne ak stranka pouziva "artio sef" na J3 spolu s multilanguage, tak CLI moze generovat problemy. Ak v stranke su plugin-y ktore robia presmerovania v pripade urcitych udalosti, tak je nutne aby sa nespustali v kontexte CLI. podobne to plati aj pre pracu so session, pokial nejaky system pouziva session_start bez overenia headers_sent tak joomla na php8.2+ nemusi fungovat (najma vramci CLI)
s pozdr.s.scholtz