Mutarea unui modul furnizor în noul grup cron în magento 2
On februarie 15, 2021 by adminFolosim modulul Firebear pentru a importa date despre produse și prețuri care rulează în grupul cron implicit. Importul durează destul de mult timp / resurse, așa că s-a recomandat mutarea cronului Firebear în propriul grup. Firebear crontab.xml este în prezent configurat astfel:
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>
La un nivel înalt va trebui să : 1 – creați un nou grup cron 2 – suprascrieți Firebear crontab pentru a rula într-un grup nou
Orice ajutor în procesul de realizare a acestui lucru va fi mult apreciat.
Răspuns
Nu pot să comentez postările existente, deoarece îmi lipsește reputația sau ceva de genul acesta, așa că o voi face în acest fel din motive de claritate.
Nu sunt ultimii 2 pași, în răspunsul guerinteed_mike, doar pentru Magento Cloud? Din câte știu, ei folosesc fișierul .magento.app.yml pentru configurarea mediului server pe propria lor platformă de găzduire.
Comentarii
- Da, acest lucru a fost folosit într-o instanță Magento Clooud
- Nu ar ' Nu ar fi mai bine să vă actualizați răspunsul atunci? Ceilalți utilizatori care nu au ediția cloud ar putea fi confundați de ultimii pași. subiectul său care este limitat doar la cloud?
- Actualizat. Notă – uneori unele aspecte nu sunt cunoscute atunci când învăț ceva nou.
- Nu am vrut să fiu aspru sau altceva, ci am observat-o și am crezut că ar putea fi lămurit. Vă mulțumim pentru actualizare! 🙂
Răspuns
Aceasta este soluția pe care am folosit-o pentru o instanță comercială Magento 2.2 găzduită pe Adobe Cloud.
Creați un modul nou sau adăugați la un existent:
1 – Grup Cron nou
[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 – creați crontab.xml nou sau adăugați joburi la cele existente:
[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 – adăugați noul grup cron la .magento.app.yml
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4 – eliminați crontab.xml din modulul furnizor prin implementarea cârligelor în .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 ...
Am înțeles că # 4 ar putea fi realizat și printr-un patch.
Lasă un răspuns