Przenoszenie modułu dostawcy do nowej grupy cron w magento 2
On 15 lutego, 2021 by adminUżywamy modułu Firebear do importowania danych o produktach i cenach, które działają w domyślnej grupie cron. Import zajmuje sporo czasu / zasobów, dlatego zaleca się przeniesienie crona Firebear do jego własnej grupy. Plik crontab.xml Firebear jest obecnie skonfigurowany w następujący sposób:
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 wysokim poziomie będę musiał : 1 – utwórz nową grupę cron 2 – zastąp plik crontab Firebear, aby działał w nowej grupie
Będziemy bardzo wdzięczni za wszelką pomoc w procesie, aby to osiągnąć.
Odpowiedź
Nie mogę komentować istniejących postów, ponieważ brakuje mi reputacji lub czegoś w tym rodzaju, więc zrobię to w ten sposób ze względu na przejrzystość.
Czy nie są „ostatnie 2 kroki, w odpowiedzi guerinteed_mike”, tylko dla Magento Cloud? O ile wiem, używają pliku .magento.app.yml do konfiguracji środowiska serwera na ich własnej platformie hostingowej.
Komentarze
- Tak, było to używane w instancji Magento Clooud
- Wouldn ' t wtedy lepiej zaktualizować swoją odpowiedź? Inni użytkownicy, którzy nie mają wersji w chmurze, mogą być zdezorientowani ostatnimi krokami. Czy jest coś, co przegapiłem w ciągu t jego temat, który jest ograniczony tylko do chmury?
- Zaktualizowano. Uwaga – czasami niektóre aspekty nie są znane podczas uczenia się czegoś nowego.
- Nie ' nie chciałem być szorstki ani nic, ale po prostu to zauważyłem i pomyślałem, że to może być wyjaśnione. Dzięki za aktualizację! 🙂
Odpowiedź
To jest rozwiązanie, którego użyłem dla instancji handlowej Magento 2.2 hostowanej w Adobe Cloud.
Utwórz nowy moduł lub dodaj do istniejącego:
1 – Nowa grupa 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 – utwórz nowy plik crontab.xml lub dodaj zadania do istniejących:
[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 – dodaj nową grupę cron do .magento.app.yml
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4 – usuń plik crontab.xml z modułu dostawcy za pomocą haków do wdrażania w .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 ...
Rozumiem, że # 4 można również wykonać za pomocą łatki.
Dodaj komentarz