Articles
공급 업체 모듈을 magento 2의 새 cron 그룹으로 이동
On 2월 15, 2021 by admin우리는 기본 cron 그룹에서 실행되는 제품 및 가격 데이터를 가져 오기 위해 Firebear 모듈을 활용하고 있습니다. 가져 오기에는 상당한 시간 / 자원이 소요되므로 Firebear 크론을 자체 그룹으로 이동하는 것이 좋습니다. Firebear crontab.xml은 현재 다음과 같이 설정되어 있습니다.
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>
높은 수준에서 : 1-새 cron 그룹 생성 2-새 그룹에서 실행되도록 Firebear crontab을 재정의
이 작업을 수행하는 프로세스에 대한 도움을 주시면 감사하겠습니다.
Answer
평판이나 그와 비슷한 것이 없어서 기존 게시물에 댓글을 달 수 없습니다. 따라서 명확성을 위해 이렇게 할 것입니다.
guerinteed_mike “의 답변에서 Magento Cloud만을위한 마지막 두 단계가 아닙니까? 내 지식으로는 .magento.app.yml 파일을 사용하여 자체 호스팅 플랫폼에서 서버 환경을 구성합니다.
코멘트
- 예, Magento Clooud 인스턴스에서 사용되었습니다.
- Wouldn ' 답변을 업데이트하는 것이 더 낫지 않습니까? 클라우드 에디션이없는 다른 사용자는 마지막 단계에서 혼란 스러울 수 있습니다. 클라우드로만 제한된 그의 주제?
- 업데이트되었습니다. 참고-때로는 새로운 것을 배울 때 일부 측면이 알려지지 않았습니다.
- 가혹한 것을 의미하는 것이 아니라 ' 가혹한 것을 의미하는 것이 아니라 단지 알아 차리고있을 수 있다고 생각했습니다. 명확히. 업데이트 해주셔서 감사합니다! 🙂
Answer
이것은 Adobe Cloud에서 호스팅되는 Magento 2.2 상거래 인스턴스에 사용한 솔루션입니다.
새 모듈을 만들거나 기존에 추가 :
1-새 크론 그룹
[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- 새 crontab.xml 생성 또는 기존 작업 추가 :
[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-.magento.app.yml에 새 cron 그룹 추가
... crons: ... newcrongroupname: spec: "* * * * *" cmd: "php bin/magento cron:run --group="new_cron_group_name""
4-.app.magento.yml의 배포 후크를 통해 공급 업체 모듈에서 crontab.xml을 제거합니다.
... 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 ...
내 이해는 # 4는 패치를 통해서도 가능하다는 것입니다.
답글 남기기