Přesunutí modulu dodavatele do nové skupiny cron v magento 2
On 15 února, 2021 by adminVyužíváme modul Firebear k importu údajů o produktech a cenách, které běží ve výchozí skupině cron. Import trvá dost času / zdrojů, takže bylo doporučeno přesunout cron Firebear do jeho vlastní skupiny. Soubor Firebear crontab.xml je aktuálně nastaven takto:
vagrant/tmp/vendor/firebear/importexport/etc/crontab.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd"> <group> <job name="importexport_jobs_run_id" instance="Firebear\ImportExport\Cron\RunImportJobs" method="execute"> <schedule>*/1 * * * *</schedule> </job> <job name="importexport_export_jobs_run_id" instance="Firebear\ImportExport\Cron\RunExportJobs" method="execute"> <schedule>*/1 * * * *</schedule> </job> </group> </config>
Na vysoké úrovni budu muset : 1 – vytvořit novou cron skupinu 2 – přepsat Firebear crontab, aby se spustil v nové skupině
Jakákoli pomoc s procesem, jak toho dosáhnout, bude velmi ceněna.
Odpovědět
Nemohu komentovat stávající příspěvky, protože mi chybí reputace nebo něco takového, takže to kvůli jasnosti udělám takto.
Nejsou poslední 2 kroky, v odpovědi guerinteed_mike, jen pro Magento Cloud? Pokud je mi známo, používají soubor .magento.app.yml ke konfiguraci prostředí serveru na své vlastní hostitelské platformě.
Komentáře
- Ano, toto bylo použito v instanci Magento Clooud
- Nebylo by ' Není lepší aktualizovat odpověď? Ostatní uživatelé, kteří nemají cloudovou edici, mohou být posledními kroky zmateni. Nebo je něco, co mi v t jeho téma, které je omezeno pouze na cloud?
- Aktualizováno. Poznámka – někdy se některé aspekty při učení něčeho nového neznají.
- Nechtěl jsem být ' být drsný nebo cokoli jiného, jen jsem si toho všiml a myslel jsem si, že by to mohlo být vyjasněno. Děkujeme za aktualizaci! 🙂
Odpověď
Toto je řešení, které jsem použil pro obchodní instanci Magento 2.2 hostovanou na Adobe Cloud.
Vytvořte nový modul nebo přidejte ke stávajícímu:
1 – Nová skupina Cron
[module]/etc/cron_group.xml <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/cron_groups.xsd"> <group> <schedule_generate_every>1</schedule_generate_every> <schedule_ahead_for>4</schedule_ahead_for> <schedule_lifetime>2</schedule_lifetime> <history_cleanup_every>10</history_cleanup_every> <history_success_lifetime>120</history_success_lifetime> <history_failure_lifetime>600</history_failure_lifetime> <use_separate_process>1</use_separate_process> </group> </config>
2 – vytvořte nový crontab.xml nebo přidejte úlohy ke stávajícím:
[module]/etc/crontab.xml <?xml version="1.0"?> <!-- /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd"> <group> <job name="cron_job_name" instance="Magento\SomeModule\Cron\SomeJob" method="execute"> <schedule>* * * * *</schedule> </job> </group> </config>
3 – přidejte novou skupinu cron do souboru .magento.app.yml
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4 – odeberte soubor crontab.xml z modulu dodavatele pomocí zaváděcích háčků v .app.magento.yml:
... hooks: # We run build hooks before your application has been packaged. build: | set -e rm -f vendor/modulename/importexport/etc/crontab.xml php ./vendor/bin/ece-tools build:generate php ./vendor/bin/ece-tools build:transfer ...
Chápu, že číslo 4 lze provést také pomocí opravy.
Napsat komentář