Referentie voor curven aanpassen
Dit onderwerp helpt u opstellings manuscripten en naar keuze bouwgroepen voor douanemodules. Als uw douanemodule taken periodiek moet plannen, moet u opstelling een contab voor die module. A crontab is een configuratie van de cron baan.
U kunt desgewenst een aangepaste groep instellen, waarmee u onder andere snijtaken die in die groep zijn gedefinieerd, onafhankelijk van andere snijtaken kunt uitvoeren.
Voor een stap-voor-stap leerprogramma, zie de banen van de douanecurn en de kantelgroepen (leerprogramma) vormen.
Voor een overzicht over kroonbanen, zie cron banenvormen.
Cron-groepen configureren
In deze sectie wordt beschreven hoe u desgewenst een uitsnijdgroep voor een aangepaste module kunt maken. Als u dit niet hoeft te doen, gaat u verder met de volgende sectie.
A gewassengroep is een logische groep die u toelaat om kroon voor meer dan één proces tegelijkertijd gemakkelijk in werking te stellen. De meeste Commerce-modules gebruiken de default
cron-groep. Sommige modules gebruiken de index
-groep.
Als u een uitsnede implementeert voor een aangepaste module, kunt u de default
-groep of een andere groep gebruiken.
om een gewassengroep voor uw module te vormen:
Maak een crontab.xml
-bestand in de modulemap:
<your component base dir>/<vendorname>/module-<name>/etc/crontab.xml
Voor één groep moet het bestand de volgende inhoud hebben:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
<group id="<group_name>">
<job name="<job_name>" instance="<classpath>" method="<method>">
<schedule><time></schedule>
</job>
</group>
</config>
Waarbij:
group_name
job_name
classpath
method
classpath
.time
De resulterende crontab.xml
met twee groepen kan er als volgt uitzien:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
<group id="default">
<job name="<job_1_name>" instance="<classpath>" method="<method_name>">
<schedule>* * * * *</schedule>
</job>
<job name="<job_2_name>" instance="<classpath>" method="<method_name>">
<schedule>* * * * *</schedule>
</job>
</group>
<group id="index">
<job name="<job_3_name>" instance="<classpath>" method="<method_name>">
<schedule>* * * * *</schedule>
</job>
<job name="<job_4_name>" instance="<classpath>" method="<method_name>">
<schedule>* * * * *</schedule>
</job>
</group>
</config>
Als voorbeeld, zie Magento_Customer crontab.xml.
Opties voor de groep Uitsnijden opgeven
U kunt een nieuwe groep declareren en de configuratieopties ervan opgeven (die allemaal worden uitgevoerd in het bereik van de winkelweergave) via het cron_groups.xml
-bestand in:
<your component base dir>/<vendorname>/module-<name>/etc/cron_groups.xml
Hieronder ziet u een voorbeeld van het bestand cron_groups.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 id="<group_name>">
<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>60</history_success_lifetime>
<history_failure_lifetime>600</history_failure_lifetime>
<use_separate_process>1</use_separate_process>
</group>
</config>
Waarbij:
schedule_generate_every
cron_schedule
tabel.schedule_ahead_for
cron_schedule
-tabel worden geschreven.schedule_lifetime
history_cleanup_every
history_success_lifetime
history_failure_lifetime
use_separate_process
Een uitsnijdtaak uitschakelen
De banen van de kroon hebben geen a disable
eigenschap zoals wij voor waarnemershebben. Een uitsnijdtaak kan echter met de volgende techniek worden uitgeschakeld: schedule
een tijd die een datum bevat die nooit zal voorkomen.
Schakel bijvoorbeeld de visitor_clean
-snijtaak uit die is gedefinieerd in de module Magento_Customer
:
...
<group id="default">
<job name="visitor_clean" instance="Magento\Customer\Model\Visitor" method="clean">
<schedule>0 0 * * *</schedule>
</job>
</group>
...
Als u de visitor_clean
uitsnijdtaak wilt uitschakelen, maakt u een aangepaste module en herschrijft u de visitor_clean
uitsnijdtaak schedule
:
...
<group id="default">
<job name="visitor_clean" instance="Magento\Customer\Model\Visitor" method="clean">
<schedule>0 0 30 2 *</schedule>
</job>
</group>
...
De visitor_clean
cron-taak is nu ingesteld op 00:00 op 30 februari - op de datum die nooit zal plaatsvinden.