catalog_index_refresh_price
catalog_index_refresh_price is a Magento 2 cron job declared by the Catalog module in the Default group. It runs hourly (0 * * * *) and dispatches Magento\Catalog\Cron\RefreshSpecialPrices::execute() on every tick.
Wiring
- Group
- Default (default)
- Module
- Catalog (magento/module-catalog)
- Schedule
- 0 * * * *
- Frequency
- hourly
- Handler
- Magento\Catalog\Cron\RefreshSpecialPrices::execute()
- Source file
- vendor/magento/module-catalog/etc/crontab.xml
Run the catalog_index_refresh_price cron job manually
Magento doesn't have a per-job CLI invocation — the smallest unit is a group. The command below runs every job in the default group whose schedule is due. The --bootstrap flag bypasses the lock-file check so the job runs even when the system cron is configured.
php bin/magento cron:run --group=default --bootstrap=standaloneProcessStarted=1Define your own job like this one
Want a job that fires on the same cadence in your own module? Drop these two files in — adjust the vendor/module namespace, the job name, and the body of execute.
1. etc/crontab.xml
<?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="vendor_module_catalog_index_refresh_price_clone"
instance="Vendor\Module\Cron\CatalogIndexRefreshPrice"
method="execute">
<schedule>0 * * * *</schedule>
</job>
</group>
</config>2. Cron handler class
<?php
declare(strict_types=1);
namespace Vendor\Module\Cron;
use Psr\Log\LoggerInterface;
class CatalogIndexRefreshPrice
{
public function __construct(
private readonly LoggerInterface $logger,
) {
}
public function execute(): void
{
$this->logger->info('catalog_index_refresh_price cron tick');
// Your scheduled work here. Keep this short — long jobs
// should enqueue work onto the message queue rather than
// running inline in the cron tick.
}
}Need a full module scaffolded around this cron job? Module Generator wires the crontab.xml, handler class, and module registration for you.
Other cron jobs in Catalog
Sibling cron jobs declared by the same module. See all Catalog cron jobs →
catalog_product_attribute_value_synchronize
Catalog · every 5 minutes · */5 * * * *
catalog_product_flat_indexer_store_cleanup
Catalog · daily at midnight · 0 0 * * *
catalog_product_frontend_actions_flush
Catalog · every minute · * * * * *
catalog_product_outdated_price_values_cleanup
Catalog · every minute · * * * * *
Cron handlers often dispatch Magento 2 events on each tick — observers bound to those events run as part of the scheduled work. The CLI Reference covers cron:run, cron:install, and the rest of the cron:* namespace.
Every Magento dev tool, in one hosted workspace.
Free to sign up. Nothing to install. Drafts, audits, and projects saved across every tool.