<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Buildmerce Guides]]></title><description><![CDATA[Practical guides for Magento 2, WooCommerce, Shopify and BigCommerce. Diagnose store problems, collect evidence and verify recovery with Buildmerce.]]></description><link>https://buildmerce.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae3704b6a05e789320f72f4/218cd84e-8e58-4f2d-bf1d-835e2f0fb8f0.png</url><title>Buildmerce Guides</title><link>https://buildmerce.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sun, 01 Nov 2026 02:00:31 GMT</lastBuildDate><atom:link href="https://buildmerce.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Magento 2 Cron Not Running? Diagnose Where Background Work Stops]]></title><description><![CDATA[Troubleshoot Magento 2 cron execution, scheduling and failed jobs. Collect evidence, identify the cause and verify recovery.]]></description><link>https://buildmerce.hashnode.dev/magento-2-cron-not-running</link><guid isPermaLink="true">https://buildmerce.hashnode.dev/magento-2-cron-not-running</guid><category><![CDATA[Magento]]></category><category><![CDATA[PHP]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Devops]]></category><dc:creator><![CDATA[Buildmerce]]></dc:creator><pubDate>Thu, 29 Oct 2026 16:54:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae3704b6a05e789320f72f4/fecf37ea-f4c8-408b-9f82-d1adeb004384.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>“Magento cron is running.”</p>
<p>That sounds reassuring—until order emails are delayed, product updates fall behind, or scheduled tasks stop progressing.</p>
<p>The problem is that “running” can describe several different things.</p>
<p>A server can launch Magento cron without the expected jobs completing. A job can complete without producing the business result you expected.</p>
<p>Here is a practical way to separate those layers before changing anything.</p>
<h2>1. Is the server launching Magento cron?</h2>
<p>Start with the mechanism responsible for invoking Magento.</p>
<p>For a self-managed installation, inspect the scheduler configuration for the account that owns and runs the application.</p>
<p>Check:</p>
<ul>
<li>Does the entry reference the current Magento installation?</li>
<li>Does it use the intended PHP executable?</li>
<li>Can that account access the application and write required files?</li>
<li>Is there evidence of recent execution?</li>
<li>Did a deployment change the release path or runtime?</li>
</ul>
<p>A configured entry shows intent. Recent execution evidence shows whether it actually runs.</p>
<p>For Adobe Commerce Cloud, use the platform’s cron configuration and logs rather than assuming a conventional user crontab controls the application.</p>
<h2>2. Is Magento scheduling the expected work?</h2>
<p>Once invocation is established, inspect whether Magento is creating schedules for the jobs you expect.</p>
<p>Focus on the affected job and a recent time window.</p>
<p>An empty result does not automatically prove that all cron is broken. Possible explanations include:</p>
<ul>
<li>The job is disabled or no longer registered.</li>
<li>You are checking the wrong database or environment.</li>
<li>The job belongs to a different cron group.</li>
<li>Your query window does not include its schedule.</li>
<li>Schedule generation is not progressing.</li>
</ul>
<p>Confirm the job code and configuration before drawing a conclusion.</p>
<h2>3. Are scheduled jobs executing?</h2>
<p>Interpret job statuses in context.</p>
<table>
<thead>
<tr>
<th>Status</th>
<th>What it tells you</th>
<th>What to investigate</th>
</tr>
</thead>
<tbody><tr>
<td>pending</td>
<td>Work is scheduled and has not started</td>
<td>Whether it is due and whether execution progresses</td>
</tr>
<tr>
<td>running</td>
<td>Execution has started</td>
<td>Duration, process activity and possible blocking</td>
</tr>
<tr>
<td>success</td>
<td>Magento recorded successful completion</td>
<td>Whether the expected business outcome followed</td>
</tr>
<tr>
<td>missed</td>
<td>The job missed its execution window</td>
<td>Scheduler delays, capacity and cron configuration</td>
</tr>
<tr>
<td>error</td>
<td>Execution reported a failure</td>
<td>The recorded message and related application logs</td>
</tr>
</tbody></table>
<p>One pending job is not necessarily a backlog. One running job is not necessarily stuck.</p>
<p>Compare observations over time and consider the job’s expected frequency and duration.</p>
<h2>4. Did the business result happen?</h2>
<p>This is the step that status-only monitoring can miss.</p>
<p>For an email problem, distinguish:</p>
<ol>
<li>The relevant job executing.</li>
<li>Magento handing the message to the configured mail transport.</li>
<li>The receiving mail system accepting it.</li>
<li>The message reaching the intended inbox.</li>
</ol>
<p>A successful cron status does not prove all four.</p>
<p>Similarly, successful background execution does not by itself prove that the storefront now displays the expected stock, price or search result.</p>
<p>Verify the symptom that triggered the investigation.</p>
<h2>An illustrative troubleshooting example</h2>
<p>Suppose order emails are delayed.</p>
<p>You confirm that the server launches Magento cron and that recent schedules exist.</p>
<p>The affected job repeatedly reports an error. Its message points to a mail transport connection failure.</p>
<p>In this example, reinstalling cron would not address the underlying problem. The next investigation belongs in mail connectivity and transport configuration.</p>
<p>After correcting that issue:</p>
<ul>
<li>Confirm a new execution completes.</li>
<li>Verify a controlled email reaches its destination.</li>
<li>Check whether previously queued work progresses.</li>
<li>Watch for the same error to recur.</li>
</ul>
<p>This is an illustrative scenario, not a documented customer incident.</p>
<h2>Collect evidence before applying a fix</h2>
<p>Before resetting anything, record:</p>
<ul>
<li>Environment and Magento version.</li>
<li>Relevant job code and cron group.</li>
<li>Timestamps and timezone.</li>
<li>Recent status transitions.</li>
<li>Error messages.</li>
<li>Related process or service observations.</li>
<li>The customer-facing symptom.</li>
</ul>
<p>Avoid sharing credentials, customer details or unredacted logs in public discussions.</p>
<p>This evidence makes a developer handoff more useful than “cron seems broken.”</p>
<h2>Watch for a monitoring blind spot</h2>
<p>If a health monitor depends entirely on Magento cron, it may stop checking when cron stops.</p>
<p>That creates a gap: the process responsible for detecting failure depends on the process that failed.</p>
<p>An independent heartbeat can help detect missing execution. It should complement job-level and business-outcome checks, because a heartbeat alone does not prove every job succeeded.</p>
<h2>Verify recovery over time</h2>
<p>A single successful manual run is useful evidence, but scheduled recovery requires more.</p>
<p>Confirm that:</p>
<ol>
<li>Normal scheduled invocation resumes.</li>
<li>Expected jobs are scheduled and executed.</li>
<li>Backlogs progress where applicable.</li>
<li>The original business symptom is resolved.</li>
<li>Failures do not immediately return.</li>
</ol>
<h2>Follow the complete diagnostic workflow</h2>
<p>The full Buildmerce guide includes diagnostic commands, bounded SQL queries, job-status interpretation, recovery checks and an interactive investigation selector.</p>
<p><a href="https://www.buildmerce.com/blog/magento-2-cron-not-running">Read Magento 2 Cron Not Running: Diagnose Where Background Work Stops</a>.</p>
<p>For the wider operational checklist, see our <a href="https://www.buildmerce.com/blog/magento-2-health-check">Magento 2 Health Check guide</a>.</p>
<p>When background work stops progressing, which layer do you investigate first: invocation, scheduling, execution or the business outcome?</p>
]]></content:encoded></item><item><title><![CDATA[Magento 2 Health Check: Diagnose Silent Failures Before Customers Report Them]]></title><description><![CDATA[Check Magento 2 cron, indexers, cache, search and checkout. Learn to collect evidence, diagnose silent failures and verify recovery.]]></description><link>https://buildmerce.hashnode.dev/magento-2-health-check</link><guid isPermaLink="true">https://buildmerce.hashnode.dev/magento-2-health-check</guid><category><![CDATA[Magento]]></category><category><![CDATA[PHP]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[Devops]]></category><dc:creator><![CDATA[Buildmerce]]></dc:creator><pubDate>Thu, 29 Oct 2026 16:48:49 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae3704b6a05e789320f72f4/b1386032-f8e7-49be-a071-b0648a11eabe.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A Magento storefront can load normally while important background processes quietly stop working.</p>
<p>Customers may still browse products, but stock updates can lag, search results can become outdated, and order emails can remain unsent.</p>
<p>That is why “the homepage loads” is only the beginning of a store health check.</p>
<h2>Start with the business symptom</h2>
<p>Before clearing caches or resetting indexers, identify what is actually failing.</p>
<table>
<thead>
<tr>
<th>Symptom</th>
<th>First areas to investigate</th>
</tr>
</thead>
<tbody><tr>
<td>Outdated prices or stock</td>
<td>Indexers, cron and cache</td>
</tr>
<tr>
<td>Delayed order emails</td>
<td>Email configuration, cron and delivery logs</td>
</tr>
<tr>
<td>Missing products in search</td>
<td>Search indexing, product visibility and search service</td>
</tr>
<tr>
<td>Intermittent checkout errors</td>
<td>Browser requests, application logs and payment responses</td>
</tr>
<tr>
<td>Background tasks stop progressing</td>
<td>Cron execution, scheduled jobs and consumers</td>
</tr>
</tbody></table>
<p>These are investigation starting points, not confirmed diagnoses. Several different failures can produce the same symptom.</p>
<h2>Separate configuration from execution</h2>
<p>One common troubleshooting mistake is treating configuration as proof that a process is working.</p>
<p>Consider these differences:</p>
<ul>
<li>A cron entry exists—but is the server launching it?</li>
<li>A job is scheduled—but does it execute successfully?</li>
<li>A consumer is listed—but is it processing messages?</li>
<li>A cache is enabled—but are requests receiving cache hits?</li>
<li>An order exists—but was its payment captured?</li>
</ul>
<p>Each question needs its own evidence.</p>
<h2>Ten areas to include in a Magento health check</h2>
<h3>1. Environment</h3>
<p>Record the Magento version, hosting model and PHP versions used by the command line and web server.</p>
<p>Different runtimes can explain why a command works manually while a scheduled task fails.</p>
<h3>2. Cron</h3>
<p>Check the server scheduler, recent Magento job execution and recurring missed or failed jobs.</p>
<p>Look for progress over time rather than relying on one successful entry.</p>
<h3>3. Indexers</h3>
<p>Inspect status, indexing mode and backlog.</p>
<p>Investigate whether work is progressing before assuming that a reset or full reindex is the right fix.</p>
<h3>4. Queues and consumers</h3>
<p>Identify which consumers your installation needs, how they are managed and whether expected messages are being processed.</p>
<h3>5. Cache and storefront freshness</h3>
<p>Check both cache configuration and actual storefront behavior.</p>
<p>Compare a known product change with what visitors see.</p>
<h3>6. Search</h3>
<p>Test a real storefront search using a product that should be discoverable.</p>
<p>Service availability alone does not prove that the correct products are indexed.</p>
<h3>7. Logs</h3>
<p>Correlate recurring errors with timestamps and affected actions.</p>
<p>An old exception is different from an error occurring on every checkout attempt.</p>
<h3>8. Infrastructure</h3>
<p>Review disk space, inodes, memory pressure and service failures.</p>
<p>Application symptoms can originate outside Magento.</p>
<h3>9. Business transactions</h3>
<p>Verify checkout, payment status, order creation and email delivery as separate outcomes.</p>
<p>Use a controlled test appropriate to the environment.</p>
<h3>10. Recovery readiness</h3>
<p>Check backup availability and restore evidence.</p>
<p>A backup job reporting success does not establish that a store can be restored.</p>
<h2>Verify recovery against the original symptom</h2>
<p>The following is an illustrative example, not a documented customer incident.</p>
<p>An administrator notices that stock changes are not appearing on the storefront. Investigation finds that scheduled indexing is no longer progressing.</p>
<p>After correcting the underlying execution problem, verification should include:</p>
<ol>
<li>Confirming new background work completes.</li>
<li>Checking that the indexing backlog progresses.</li>
<li>Making a controlled stock change.</li>
<li>Confirming the expected storefront result.</li>
<li>Watching for the same failure to return.</li>
</ol>
<p>“The command completed” is useful evidence. Confirming that the original business problem is resolved is stronger evidence.</p>
<h2>Keep an evidence-based handoff</h2>
<p>For every check, record:</p>
<ul>
<li><strong>Status:</strong> Passed, needs investigation or not checked.</li>
<li><strong>Evidence:</strong> Timestamp, relevant output and observed behavior.</li>
<li><strong>Impact:</strong> What customers or administrators experience.</li>
<li><strong>Next action:</strong> The specific investigation or recovery check.</li>
</ul>
<p>Avoid combining everything into a reassuring score that hides an unresolved checkout or payment problem.</p>
<h2>Use the full interactive checklist</h2>
<p>We published the complete guide on Buildmerce, including diagnostic commands, output interpretation, recovery checks and an interactive checklist with evidence notes and a copy/download handoff.</p>
<p><a href="https://www.buildmerce.com/blog/magento-2-health-check">Read the Magento 2 Health Check guide</a>.</p>
<p>For a deeper investigation of scheduling failures, see our <a href="https://www.buildmerce.com/blog/magento-2-cron-not-running">Magento 2 Cron Not Running guide</a>.</p>
<p>Which background failure has been hardest to detect in your Magento stores?</p>
]]></content:encoded></item></channel></rss>