Flytning af et leverandørmodul til en ny cron-gruppe i magento 2
On februar 15, 2021 by adminVi bruger Firebear-modulet til at importere produkt- og prisdata, der kører i standardcrongruppen. Importen tager en hel del tid / ressourcer, så det blev anbefalet at flytte Firebear cron til sin egen gruppe. Firebear crontab.xml er i øjeblikket konfigureret sådan:
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>
På et højt niveau bliver jeg nødt til at : 1 – opret ny cron-gruppe 2 – tilsidesæt Firebear crontab for at køre i en ny gruppe
Enhver hjælp til processen for at opnå dette vil blive meget værdsat.
Svar
Jeg kan ikke kommentere eksisterende indlæg, fordi jeg mangler omdømme eller noget lignende, så jeg vil gøre det på denne måde af hensyn til klarheden.
Er de sidste 2 trin ikke i guerinteed_mikes svar, kun til Magento Cloud? Efter min viden bruger de .magento.app.yml-filen til konfiguration af servermiljøet på deres egen hostingplatform.
Kommentarer
- Ja, dette blev brugt på en Magento Clooud-forekomst
- Ville ikke ' t er det bedre at opdatere dit svar så? Andre brugere, der ikke har cloud-udgaven, kan være forvirrede af de sidste trin. Eller er der noget, jeg savnede inden for t hans emne, der er begrænset til kun sky?
- Opdateret. Bemærk – nogle gange er nogle aspekter ikke kendt, når jeg lærer noget nyt.
- Jeg mente ikke ' t at være hård eller noget, men bemærkede det og tænkte, det kunne være afklaret. Tak for opdateringen! 🙂
Svar
Dette er den løsning, jeg brugte til en Magento 2.2-handelsinstans, der var vært på Adobe Cloud.
Opret et nyt modul eller tilføj til et eksisterende:
1 – Ny Cron Group
[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 – Opret nyt crontab.xml eller tilføj job til eksisterende:
[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 – tilføj den nye cron-gruppe til .magento.app.yml
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4 – fjern crontab.xml fra leverandørmodulet via implementeringskrog i .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 ...
Min forståelse er, at nr. 4 også kunne ske via en patch.
Skriv et svar