3 minutes January 27, 2026

How can I run Shopware scheduled tasks on shared hosting without Supervisor?

Shopware 6 relies heavily on scheduled tasks and the Symfony Messenger system to handle background jobs such as indexing, emails, cleanup tasks, and integrations.

On managed servers or VPS environments, this is usually handled via:

  • Supervisor
  • Long-running workers
  • CLI-based cron execution

However, on shared hosting, these options are often unavailable or restricted. This leads to stalled scheduled tasks, delayed emails, and unstable background processing.

This article explains how to run Shopware scheduled tasks reliably on shared hosting, even when Supervisor is not available.

The Problem: Cron Execution Limits

Most shared hosting providers impose strict cron limitations, such as:

  • Cron jobs can execute only PHP files
  • Direct execution of Shopware console commands is blocked
  • Long-running processes are terminated automatically
  • Supervisor or system-level daemons are not allowed

Because of this:

  • Standard Shopware background processing cannot be set up
  • scheduled-task:run does not execute
  • Messenger queues stop processing
  • Scheduled tasks pile up in the database

A workaround is required to stay within hosting constraints.

The Solution: PHP Cron Wrappers

The solution is to wrap Shopware console commands inside dedicated PHP scripts and execute those scripts via the hosting provider’s cron interface.

Why this works

  • Hosting panels allow PHP file execution
  • PHP scripts can internally call CLI commands using exec()
  • Shopware commands run for a short, controlled duration
  • No long-running processes are required

This approach mimics Supervisor behavior in small time slices.

Step 1: Scheduler Runner Script

Create a PHP file (e.g. scheduler.php) to run scheduled tasks:

What this does:

  • Executes Shopware scheduled tasks
  • Runs for a maximum of 60 seconds
  • Prevents long execution timeouts
  • Safe for repeated cron execution

Step 2: Messenger Worker Script

Create another PHP file (e.g., messenger_consume.php) to process message queues:

 

What this covers:

  • Async message processing
  • Failed message retries
  • Shopware scheduler queue

Each command:

  • Runs briefly
  • Exits cleanly
  • Can be triggered repeatedly via cron

Step 3: Configure Cron Jobs

In your hosting control panel:

  • Schedule scheduler.php every 5 minutes
  • Schedule messenger_consume.php every 5 minutes
  • Use the PHP binary provided by the host

This ensures:

  • Tasks are processed continuously
  • No single job runs too long
  • Hosting limits are respected

Conclusion: Stable Scheduling Without a Supervisor

Running Shopware 6 on shared hosting does not mean giving up reliable background processing.

By:

  • Wrapping console commands inside PHP scripts
  • Executing them via standard cron jobs
  • Limiting the runtime for each execution

You can run Shopware Scheduler and Messenger queues safely, even without Supervisor or system access.

blog
Greetings! I'm Aneesh Sreedharan, CEO of 2Hats Logic Solutions. At 2Hats Logic Solutions, we are dedicated to providing technical expertise and resolving your concerns in the world of technology. Our blog page serves as a resource where we share insights and experiences, offering valuable perspectives on your queries.
Aneesh ceo
Aneesh Sreedharan
Founder & CEO, 2Hats Logic Solutions
Subscribe to our Newsletter
Aneesh ceo

    Stay In The Loop!

    Subscribe to our newsletter and learn about the latest digital trends.