Szállítói modul áthelyezése új cron csoportba a magento 2-ben
On február 15, 2021 by adminA Firebear modult használjuk az alapértelmezett cron-csoportban futó termék- és áradatok importálására. Az importálás meglehetősen sok időt / erőforrást igényel, ezért azt ajánlották, hogy a Firebear cront saját csoportjába helyezze át. A Firebear crontab.xml jelenleg így van beállítva:
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>
Magas szinten meg kell : 1 – új cron csoport létrehozása 2 – a Firebear crontab felülírása az új csoportban való futtatáshoz
Minden segítséget nagyra értékelünk ennek megvalósításához.
Válasz
Nem kommentálhatom a meglévő bejegyzéseket, mert hiányzik a hírnevem, vagy valami hasonló, ezért az egyértelműség kedvéért ezt így fogom megtenni.
A guerinteed_mike válaszában nem az utolsó 2 lépést kell megtenni, csak a Magento Cloud számára? Tudomásom szerint a .magento.app.yml fájlt használják a szerverkörnyezet konfigurálásához saját tárhelyükön.
Megjegyzések
- Igen, ezt egy Magento Clooud-példányon használták
- Wouldn ' t jobb, ha frissíted a válaszodat? Azokat a felhasználókat, akiknek nincs felhő kiadása, megzavarhatják az utolsó lépések. Vagy van valami, amit hiányoltam a t-n belül a témája, amely csak a felhőre korlátozódik?
- Frissítve. Megjegyzés – néha bizonyos szempontok nem ismertek, amikor valami újat tanulnak.
- Nem ' nem azt értettem, hogy kemény vagy bármi más, de csak észrevettem és gondoltam, hogy ez lehet tisztázott. Köszönjük a frissítést! 🙂
Válasz
Ezt a megoldást használtam az Adobe Cloud szolgáltatásban tárolt Magento 2.2 kereskedelmi példányhoz.
Hozzon létre új modult, vagy adjon hozzá egy meglévőhöz:
1 – Új Cron csoport
[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 – hozzon létre új crontab.xml fájlt, vagy adjon hozzá munkahelyeket a meglévőhöz:
[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 – adja hozzá az új cron csoportot a .magento.app.yml fájlhoz
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4 – távolítsa el a crontab.xml fájlt a szállítói modulból az .app.magento.yml fájlban található telepítési kampókon keresztül:
... 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 ...
Megértésem szerint a 4. helyet javítással is meg lehet valósítani.
Vélemény, hozzászólás?