Kravuppgifter låser uppgifter från andra grupper
Den här artikeln innehåller en lösning för Adobe Commerce om molninfrastrukturproblem i samband med vissa kron-jobb som är under lång tid och som blockerar andra kron-jobb.
Berörda produkter och versioner
- Adobe Commerce om molninfrastruktur Pro planarkitektur
- Inbyggt tidigare än maj 2019
Problem
När du har komplexa kron-uppgifter (långkörda uppgifter) i Adobe Commerce för molnet kan de låsa andra uppgifter för körning. Indexerarens uppgift indexerar till exempel om ogiltiga indexerare. Det kan ta några timmar att slutföra och låser andra standardcron-jobb som att skicka e-post, generera webbplatskartor, kundmeddelanden och andra anpassade uppgifter.
Symtomen:
Processerna som utförs av cron-jobb utförs inte. Produktuppdateringar gäller t.ex. inte timmar eller så rapporterar kunderna att de inte får några e-postmeddelanden.
När du öppnar databastabellen cron_schedule
ser du jobben med statusen missed
.
Orsak
Tidigare användes Jenkins-servern i vår molnmiljö för att köra cron-jobb. Jenkins kör bara en instans av ett jobb åt gången. Därför körs bara en bin/magento cron:run
-process åt gången.
Lösning
-
Kontakta Adobe Commerce support om du vill att självhanterade kroner ska vara aktiverade.
-
Redigera filen
.magento.app.yaml
i rotkatalogen för Adobe Commerce i Git-grenen. Lägg till följande:code language-yaml crons: cronrun: spec: "* * * * *" cmd: "php bin/magento cron:run"
-
Spara filen och skicka uppdateringar till miljö för förproduktion och produktion (på samma sätt som för integreringsmiljöer).
cron:run
till det nya cron-schemat. Den vanliga cron:run
-aktiviteten, som lagts till enligt ovan, räcker. Men du måste överföra dina anpassade jobb om du hade några.Kontrollera om du har självhanterade kron aktiverat (endast för Cloud Pro Staging and Production)
Om du vill kontrollera om den självhanterade kronen är aktiverad kör du kommandot crontab -l
och observerar resultatet:
-
Självhanterade kroner är aktiverade om du kan se åtgärderna, som följande:
code language-bash username@hostname:~$ crontab -l # Crontab is managed by the system, attempts to edit it directly will fail. SHELL=/etc/platform/username/cron-run MAILTO="" # m h dom mon dow job_name * * * * * cronrun
-
Den självhanterade kron är inte aktiverad om du inte kan se aktiviteterna och få felmeddelandet "du får inte använda det här programmet".
Relaterad läsning
- Konfigurera cron-jobb i utvecklardokumentationen.