My Cart 0

User Manual - Scheduler

Scheduler user guide

 

Installing the Magento 2 Scheduler extension

 

Command Line Installation

  1. Backup your web directory and store database

  2. Download the Scheduler installation package

  3. Upload contents of the Scheduler installation package to your store root directory

  4. In SSH console of your server navigate to your store root folder:

 

cd path_to_the_store_root_folder

 

Run the following command: 

php bin/magento module:enable Aheadworks_Scheduler

 

then:

php bin/magento setup:upgrade

 

after:

php bin/magento setup:static-content:deploy -f

     

  1. Flush store cache; log out from the backend and log in again

 

Make sure the installation is done from the FTP administrator account. Otherwise, set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

If you are installing an extension from Aheadworks for the first time, you need to add our composer repository to your Magento store:

Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

 

Run the following commands:

composer config repositories.aheadworks composer https://dist.aheadworks.com/

 

After the command was executed successfully, you can use the composer to install the extension.

To install the extension:

Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

     

Run the following command to install the latest version of the extension:

composer require aheadworks/module-scheduler

 

if you need to install a specific version, run this command:

composer require aheadworks/module-scheduler<version>

 

Specify the version of the extension in <version>

When prompted, enter Public Key (Username) and Private Key (Password):

 

Both Public Key (Username) and Private Key (Password) can be found in My Projects and Licenses in your personal account on our site:

 

To upgrade the extension:

 

To update or upgrade an extension:

 

Download the updated extension file. Take note of the module-name and version. Export the contents to your Magento root.

 

If a composer package exists for the extension, run one of the following.

 

Update per module name:

composer update aheadworks/module-scheduler

 

Updater per version:

composer require aheadworks/module-scheduler:<version>

 

Run the following commands to upgrade, deploy, and clean the cache.

php bin/magento setup:upgrade --keep-generated

php bin/magento setup:static-content:deploy

php bin/magento cache:clean

 

 

Set up cron

If you have already configured cron jobs for your Magento installation then you can skip this step. Read the following instructions on setting cron job for your Magento store: Magento user guide.-

Generally, it would be enough to run in SSH console of your server: 

crontab -e

 

And insert the following line:  

*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento cron:run

*/3 * * * * php -c <ini-file-path> <your Magento install dir>/update/cron.php

*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento setup:cron:run

 

Remember to confirm the Save request when exiting the installation.

 

 

 

Uninstalling the Magento 2 Scheduler extension

 

Since Magento introduced declarative Database you need to be very careful when uninstalling or disabling the module.

NOTE: Please be very careful when uninstalling/disabling this module. This module uses a declarative DB scheme. Once the module is uninstalled its DB tables will be lost.

 

Manual Removal

 

1. Disable the module by executing the following commands:

php bin/magento module:disable Aheadworks_Scheduler

php bin/magento setup:upgrade

 

2. Remove the extension files from the following folder:

app/code/Aheadworks/Scheduler

 

Automatic Removal (via Composer)

1. Disable the module by executing the following commands:

php bin/magento module:uninstall Aheadworks_Scheduler



Extension Compatibility

 

Module Version 

Magento Version 

As of version 1.0.0

2.4.6 - 2.4.8

 

The PHP version depends on your current Magento version. Please, refer to your Magento version.

 

Introducing to Magento 2 Scheduler

 

Extension Overview

The Scheduler for Magento 2 automates temporary content updates for products, categories, CMS blocks, and pages by allowing you to set precise start and end times for any campaign. Using cron jobs to automatically apply and revert changes, the module ensures your store is always ready for events like Black Friday or flash sales without manual intervention. It maintains data integrity through automatic backups and offers a time-saving cloning feature, enabling you to reuse successful scheduling scenarios for recurring promotions.

Key Features

  • Time-based automation for scheduling product, category, and CMS updates by date and time

  • Multi-entity support for Products, Categories, CMS Pages, and CMS Blocks

  • Flexible targeting via specific product attributes, categories, or explicit lists

  • Automatic data revert to restore original settings once a schedule expires

  • Admin email alerts for automated start and end of scheduling cycles

  • Manual execution via the "Run Now" trigger to apply changes instantly

  • Schedule cloning to quickly duplicate and reuse existing configurations

 

Using Magento 2 Scheduler

Extension Configuration 

To enable the extension, go to Stores > Configuration > AHEADWORKS EXTENSIONS > Scheduler.

General settings

  • Is active — toggles the extension functionality globally:

    • Yes — the module is enabled and will process schedules via cron.

    • No — the module is disabled. New schedules will not start, and currently running changes will not be automatically reverted. Any tasks scheduled to run during this period will be marked as Missed.

 

Schedule settings

  • Mark as missed if not run within X minutes — specify the time interval (in minutes). If a scheduled task doesn't start within this period, it will be marked as "Missed".

Notification settings

  • Send to — enter the recipient's email address for status notifications.

  • Send start email — toggles notifications for the beginning of a schedule:

    • Yes — an alert is sent when the schedule is processed.

    • No — no notification will be sent when the schedule execution begins.

  • Start email template — choose the template for the start notification.

  • Send end email — toggles notifications for the completion of a schedule:

    • Yes — an alert is sent when the schedule is finished and changes are reverted.

    • No — no notification will be sent when the schedule is finished.

  • End email template — choose the template for the end notification.

Note: Default email templates are provided by the module: Schedule start email template and Schedule end email template.

 

Creating a new schedule

Navigate to Marketing > Scheduler by Aheadworks > Manage Schedules.

Press the right side of the ‘New schedule’ button and select the type: Product, Category, CMS Page, or CMS Block.

General Information

When creating or editing a schedule, the General information tab contains the following settings:

  • Enabled — use the toggle to activate or deactivate the schedule. 

  • Current time — displays the current server time. Use this as a reference when setting the start and end dates to ensure synchronization with your store's timezone.

  • Start date — specify the date and time when the scheduled changes should be applied.

  • End date — specify the date and time when the changes should be reverted. If left blank, the changes will remain active indefinitely after the start date.

  • Stores — select the store views where the schedule should be applied. 

  • Name — enter a name for the schedule.

  • Description — provide additional notes or internal comments regarding the schedule for future reference.

 

Actions

In the Actions tab, you define the specific changes that will be applied to the selected entities during the scheduled period.

  • Update status — use the toggle to enable or disable this action. 

    • New status — choose the status that should be applied when the schedule starts.

Product-specific Actions:

Update special price

This action allows you to automate discounts by modifying the special price of selected products.

  • Update special product price — set the toggle to Yes to enable price modifications for this schedule.

  • Action on special price — define how the price should be calculated:

    • Replace — sets a specific new price, completely replacing any existing special price.

    • Minus percentage from price — reduces the original price by a specified percentage.

    • Plus percentage from price — increases the price by a specified percentage.

    • Minus fixed amount — subtracts a specific flat amount from the current price.

    • Plus fixed amount — adds a specific flat amount to the current price.

  • Value — enter the numerical value (amount or percentage) to be used for the selected action.

 

Update stock status

This action allows you to manage product availability on the storefront according to your schedule.

  • Update product stock status — set the toggle to Yes to enable stock status changes for the selected products.

  • Stock status — choose the new availability status to be applied when the schedule starts:

    • In Stock — makes products available for purchase.

    • Out of Stock — makes products unavailable for purchase.

 

Update categories

This action allows you to dynamically change the category assignment for selected products during the schedule period.

  • Update product categories — set the toggle to Yes to enable changes to product category assignments.

  • Add to categories — select one or more categories where the target products should be added when the schedule starts.

  • Remove from categories — select categories from which the target products should be removed during the schedule period.

Targeting

Depending on the schedule type, define which items will be affected:

  • For Products Schedules

    • Products by selection — this method is ideal for applying changes to specific, individual items. Manually pick items from the product grid using filters.

  • Products by conditions — this method allows you to automate targeting based on product attributes. It follows the standard Magento Rule Engine logic: click the green "+" icon to add specific criteria. Use "TRUE/FALSE" and "ALL/ANY" logic to create filters.

Note: If no specific rules are defined, no products will be affected.

  • For Category Schedules

    • Categories — select one or more categories from the tree or list. The schedule will apply the "Update Status" action only to the selected categories.

  • For CMS Pages Schedules

    • CMS Pages — choose specific pages from the multi-select list. The schedule will enable or disable these pages at the scheduled time.

  • For CMS Blocks  Schedules

    • CMS Blocks — select the required static blocks from the provided list. This is useful for automating the appearance of promotional banners or temporary service announcements.



Managing schedules

Schedule Statuses

  • Scheduled — created and waiting for the start date. This is the only status where the schedule remains editable.

  • Running —start date has passed; changes are currently applied. The system waits for the end date (if set) to revert changes.

  • Finished — process successfully completed (no end date) or reverted after the end date.

  • Missed — processing failed or was delayed beyond the configured "lifetime window."

  • Paused — the schedule is disabled and will not be processed until re-enabled.

Mass actions

From the schedule grid, select multiple schedules and use the Actions dropdown:

  • Enable / Disable — bulk update the activation status.

  • Delete — permanently remove selected schedules.



Edit Page Actions

  • Run Now — immediately applies changes regardless of the start date.

  • Reset — iImmediately restores previous data and sets the status to "Finished."

  • Duplicate — creates a copy with the status "Scheduled" and cleared dates for easy reuse.

 

Report incorrect information

Still Have Questions?

Our customer care team is here for you!

Contact Us