Spostamento di un modulo del fornitore in un nuovo gruppo cron in magento 2
Su Febbraio 15, 2021 da adminStiamo utilizzando il modulo Firebear per importare i dati sui prodotti e sui prezzi che vengono eseguiti nel gruppo cron predefinito. Limportazione richiede un po di tempo / risorse, quindi è stato consigliato di spostare il cron di Firebear nel proprio gruppo. Il Firebear crontab.xml è attualmente configurato in questo modo:
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>
Ad alto livello dovrò : 1 – crea un nuovo gruppo cron 2 – sovrascrivi il crontab Firebear per eseguirlo in un nuovo gruppo
Qualsiasi aiuto sul processo per ottenere ciò sarà molto apprezzato.
Risposta
Non posso commentare post esistenti perché mi manca la reputazione o qualcosa di simile, quindi lo farò in questo modo per motivi di chiarezza.
Non sono gli ultimi 2 passaggi, nella risposta di guerinteed_mike, solo per Magento Cloud? Per quanto ne so, usano il file .magento.app.yml per configurare lambiente server sulla propria piattaforma di hosting.
Commenti
- Sì, è stato utilizzato su unistanza Magento Clooud
- ' t è meglio aggiornare la tua risposta allora? Gli altri utenti che non hanno ledizione cloud potrebbero essere confusi dagli ultimi passaggi. O cè qualcosa che mi sono perso in t il suo argomento limitato al solo cloud?
- Aggiornato. Nota: a volte alcuni aspetti non sono noti quando si impara qualcosa di nuovo.
- Non ' intendevo essere duro o altro, ma lho notato e ho pensato che potesse essere chiarito. Grazie per laggiornamento! 🙂
Risposta
Questa è la soluzione che ho usato per unistanza commerciale Magento 2.2 ospitata su Adobe Cloud.
Crea un nuovo modulo o aggiungilo a uno esistente:
1 – Nuovo gruppo 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 – creare nuovo crontab.xml o aggiungere lavori a quelli esistenti:
[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 – aggiungere il nuovo gruppo cron a .magento.app.yml
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4 – rimuovi crontab.xml dal modulo del fornitore tramite deploy hook in .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 ...
La mia comprensione è che il # 4 potrebbe anche essere fatto tramite una patch.
Lascia un commento