<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Der Magento Experte</title>
	<atom:link href="https://www.der-mage-experte.de/tag/cron-jobs/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.der-mage-experte.de</link>
	<description>Ihr Magento Experte &#38; Entwickler</description>
	<lastBuildDate>Thu, 05 Nov 2026 21:41:35 +0000</lastBuildDate>
	<language>de-DE</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8.6</generator>
	<item>
		<title>Parallele Ausführung eines Cronjobs verhindern</title>
		<link>https://www.der-mage-experte.de/3209/magento2-parallele-ausfuehrung-eines-cronjobs-verhindern/</link>
		<comments>https://www.der-mage-experte.de/3209/magento2-parallele-ausfuehrung-eines-cronjobs-verhindern/#comments</comments>
		<pubDate>Wed, 14 Oct 2026 19:48:15 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Cron-Jobs]]></category>
		<category><![CDATA[Magento 2]]></category>
		<category><![CDATA[parallele Verarbeitung]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3209</guid>
		<description><![CDATA[Läuft ein eigener Magento Cronjob länger als sein eingestelltes Intervall, kann der nächste Lauf bereits starten, obwohl der vorherige noch arbeitet. Bei Importen, Exporten oder anderen schreibenden Prozessen kann das schnell zu doppelter Verarbeitung oder konkurrierenden Zugriffen führen. Magento bringt&#8230;]]></description>
				<content:encoded><![CDATA[<p>Läuft ein eigener Magento Cronjob länger als sein eingestelltes Intervall, kann der nächste Lauf bereits starten, obwohl der vorherige noch arbeitet. Bei Importen, Exporten oder anderen schreibenden Prozessen kann das schnell zu doppelter Verarbeitung oder konkurrierenden Zugriffen führen.</p>
<p>Magento bringt dafür mit dem <strong>LockManagerInterface</strong> bereits einen passenden Mechanismus mit. Vor dem eigentlichen Prozess wird ein Lock gesetzt. Existiert dieser bereits, beendet sich der zweite Lauf direkt wieder.</p><pre class="crayon-plain-tag">use Magento\Framework\Lock\LockManagerInterface;

class Import
{
    public function __construct(
        private LockManagerInterface $lockManager
    ) {
    }

    public function execute(): void
    {
        $lockName = 'vendor_module_import';

        if (!$this-&gt;lockManager-&gt;lock($lockName, 0)) {
            return;
        }

        try {
            // Run import
        } finally {
            $this-&gt;lockManager-&gt;unlock($lockName);
        }
    }
}</pre><p>Der Name des Locks sollte für den jeweiligen Prozess eindeutig sein. Solange <strong>vendor_module_import</strong> gesperrt ist, kann kein zweiter Lauf mit demselben Lock gleichzeitig starten.</p>
<p>Wichtig ist das <strong>finally</strong>: Auch wenn innerhalb des Cronjobs eine Exception entsteht, wird der Lock anschließend wieder freigegeben.</p>
<p>Magento verwendet den Lock Mechanismus selbst an verschiedenen Stellen, unter anderem um parallele Prozesse voneinander fernzuhalten. Für längere eigene Cronjobs ist <strong>LockManagerInterface</strong> deshalb deutlich sauberer als eine selbst gebaute Statusdatei oder ein Flag in der Datenbank.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3209/magento2-parallele-ausfuehrung-eines-cronjobs-verhindern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welches Modul definiert welchen Cronjob?</title>
		<link>https://www.der-mage-experte.de/3166/magento2-welches-modul-definiert-welchen-cronjob/</link>
		<comments>https://www.der-mage-experte.de/3166/magento2-welches-modul-definiert-welchen-cronjob/#comments</comments>
		<pubDate>Thu, 08 Oct 2026 20:17:21 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Cron-Jobs]]></category>
		<category><![CDATA[Magento 2]]></category>

		<guid isPermaLink="false">https://www.der-mage-experte.de/?p=3166</guid>
		<description><![CDATA[Kennen Sie das? In cron_schedule taucht ein unbekannter Cronjob auf, aber der job_code sagt erst einmal überhaupt nichts darüber aus, welches Modul dahintersteckt. Die Definition eines Magento Cronjobs befindet sich normalerweise in einer crontab.xml. Mit einer einfachen Suche lässt sich&#8230;]]></description>
				<content:encoded><![CDATA[<p>Kennen Sie das? In <strong>cron_schedule</strong> taucht ein unbekannter Cronjob auf, aber der <strong>job_code</strong> sagt erst einmal überhaupt nichts darüber aus, welches Modul dahintersteckt.</p>
<p>Die Definition eines Magento Cronjobs befindet sich normalerweise in einer <strong>crontab.xml</strong>. Mit einer einfachen Suche lässt sich der zugehörige Eintrag schnell finden.</p><pre class="crayon-plain-tag">grep -R --include=&quot;crontab.xml&quot; 'job name=&quot;mein_job_code&quot;' app/code vendor</pre><p></p>
<p>Taucht beispielsweise der Job <strong>vendor_sync_products</strong> auf, kann entsprechend danach gesucht werden.</p><pre class="crayon-plain-tag">grep -R --include=&quot;crontab.xml&quot; 'job name=&quot;vendor_sync_products&quot;' app/code vendor</pre><p></p>
<p>Das Ergebnis zeigt direkt die <strong>crontab.xml</strong> und damit normalerweise auch das Modul, aus dem der Cronjob stammt. In der Definition findet sich anschließend die PHP Klasse und Methode, die Magento für diesen Job ausführt.</p>
<p>Das ist besonders praktisch, wenn ein Cronjob regelmäßig mit <strong>error</strong> endet, ungewöhnlich lange läuft oder sehr viele Einträge in <strong>cron_schedule</strong> erzeugt und zunächst überhaupt nicht klar ist, welche Extension dafür verantwortlich ist.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/3166/magento2-welches-modul-definiert-welchen-cronjob/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento 1.4. running Status für Cron Jobs wird nicht richtig gesetzt</title>
		<link>https://www.der-mage-experte.de/352/magento-1-4-running-status-fur-cron-jobs-wird-nicht-richtig-gesetzt/</link>
		<comments>https://www.der-mage-experte.de/352/magento-1-4-running-status-fur-cron-jobs-wird-nicht-richtig-gesetzt/#comments</comments>
		<pubDate>Wed, 08 May 2013 10:07:21 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Cron-Jobs]]></category>

		<guid isPermaLink="false">http://www.der-mage-experte.de/?p=352</guid>
		<description><![CDATA[In der Magento Version 1.4. wird der running Status in der cron_schedule Tabelle nicht richtig gesetzt. Normalerweise dient der Status dazu, einen Cron Job nicht mehrfach auszuführen. In Magento 1.4. ist der Code an dieser Stelle nicht ganz korrekt. Erstellen&#8230;]]></description>
				<content:encoded><![CDATA[<p>In der Magento Version 1.4. wird der running Status in der cron_schedule Tabelle nicht richtig gesetzt. Normalerweise dient der Status dazu, einen Cron Job nicht mehrfach auszuführen. In Magento 1.4. ist der Code an dieser Stelle nicht ganz korrekt. Erstellen Sie eine lokale Kopie von Mage_Cron_Model_Observer und schauen Sie sich die dispatch Funktion an. Dort finden Sie diese Zeile:</p>
<p></p><pre class="crayon-plain-tag">$schedule-&gt;setExecutedAt(strftime('%Y-%m-%d %H:%M:%S', time()))-&gt;save();</pre><p></p>
<p>Hier sollte der Status ebenfalls gespeichert werden. Der neue Code sieht also folgendermaßen aus:</p>
<p></p><pre class="crayon-plain-tag">$schedule-&gt;setStatus(Mage_Cron_Model_Schedule::STATUS_RUNNING)-&gt;setExecutedAt(strftime('%Y-%m-%d %H:%M:%S', time()))-&gt;save();</pre><p></p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/352/magento-1-4-running-status-fur-cron-jobs-wird-nicht-richtig-gesetzt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cron Jobs konfigurieren und ausführen</title>
		<link>https://www.der-mage-experte.de/15/magento-cron-job-konfigurieren-und-ausfuehren/</link>
		<comments>https://www.der-mage-experte.de/15/magento-cron-job-konfigurieren-und-ausfuehren/#comments</comments>
		<pubDate>Mon, 18 Feb 2013 16:29:03 +0000</pubDate>
		<dc:creator><![CDATA[Mex]]></dc:creator>
				<category><![CDATA[Magento Lösungen]]></category>
		<category><![CDATA[Cron-Jobs]]></category>

		<guid isPermaLink="false">http://www.der-mage-experte.de/?p=15</guid>
		<description><![CDATA[Um einen Cron Job in Magento zu konfigurieren, muß die config.xml des Moduls angepasst werden: [crayon-6af52f9b97f9f/] Jetzt muß noch die cron.php ausgeführt werden. Diese liegt parallel zu der index.php im Magento Root-Verzeichnis. Die Ausführung wird einen Eintrag in die cron_schedule&#8230;]]></description>
				<content:encoded><![CDATA[<p>Um einen Cron Job in Magento zu konfigurieren, muß die config.xml des Moduls angepasst werden:</p><pre class="crayon-plain-tag">&lt;config&gt;
    &lt;crontab&gt;
        &lt;jobs&gt;
            &lt;some_unique_job_code&gt;
                &lt;schedule&gt;
                    &lt;!-- jede Minute --&gt;
                    &lt;cron_expr&gt;*/1 * * * *&lt;/cron_expr&gt;
                &lt;/schedule&gt;
                &lt;run&gt;
                    &lt;model&gt;module/observer::functionToRun&lt;/model&gt;
                &lt;/run&gt;
            &lt;/some_unique_job_code&gt;
        &lt;/jobs&gt;
    &lt;/crontab&gt;
&lt;/config&gt;</pre><p></p>
<p>Jetzt muß noch die cron.php ausgeführt werden. Diese liegt parallel zu der index.php im Magento Root-Verzeichnis. Die Ausführung wird einen Eintrag in die cron_schedule Tabelle einfügen, passend zu Ihren Angaben in der config.xml. Wenn die cron.php nun erneut aufgerufen wird und die Zeit für die Ausführung des Jobs gekommen sit, wird er ausgeführt.</p>]]></content:encoded>
			<wfw:commentRss>https://www.der-mage-experte.de/15/magento-cron-job-konfigurieren-und-ausfuehren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
