Hosting · · 10 min read

Where to run background jobs and queues in Europe in 2026

Worker processes, cron schedules and message queues from European providers: how Scalingo, Clever Cloud, Upsun, Scaleway, Sliplane and Hetzner handle work outside the request.

If your web app needs a queue consumer and a few scheduled tasks, Scalingo and Clever Cloud let you run both beside the app from one Git repository, and Upsun does the same with workers and crons declared in its config file. Scaleway sells the pieces separately, with Serverless Jobs for batch and cron runs and an SQS-compatible Queues service, while Sliplane or a Hetzner server suit you if you'd rather run the worker as one more container on a machine you pay for anyway.

A job setup has three parts: a store that holds the jobs, a worker that takes them off, and a scheduler for anything on a clock. Check where each one runs.

Background job options at a glance

PlatformCompanyWorker processesScheduled tasksStarts at
ScalingoStrasbourg, Franceworker line in the Procfile, own containercron.json, every 10 minutes at most€7.20 a month per 256 MB container, excl. VAT
Clever CloudNantes, FranceCC_WORKER_COMMAND on each instanceclevercloud/cron.json on each instanceBilled by instance size, free credits to start
UpsunParis, Franceworkers in the app configcrons, every 5 minutes at most€9 per project and €10 per user a month, plus resources
ScalewayFranceServerless Jobs, or your own containerCron schedules on Serverless JobsFree tier, then billed per second of CPU and memory
SliplaneBerlin, GermanyAnother service on the same serverNot documented€9 per server, excl. VAT
HetznerGermanyWhatever you installSystem cron or your library's schedulerFrom €5.49 a month excl. VAT, if available to order
EurobaseWarsaw, PolandNoNoFree, then €10 a month + VAT

Prices are from each provider's own page, checked on 9 and 10 November 2026.

What to check before you move your jobs

  • A process that never answers HTTP. A queue consumer runs in a loop and listens on no port. Make sure the platform runs such a process and restarts it when it crashes, without needing a health check URL.
  • Where the jobs wait. A Redis or Valkey list, a table in Postgres, or a managed queue. If you'd rather not run Redis, libraries such as pg-boss for Node.js and Solid Queue for Rails keep jobs in the database you already have.
  • How often cron can fire. Scalingo's scheduler won't go below 10 minutes and Upsun's crons below 5. A job that must run every minute needs a worker with its own timer.
  • Exactly once or on every instance. On Clever Cloud, each instance runs every worker and every cron line, so three instances send the nightly email three times unless you guard it.
  • What happens on deploy. A worker gets a stop signal and at most a few seconds before it's killed, so a job can be cut off halfway. Write jobs so a retry is safe.

1. Scalingo

Scalingo follows the Heroku model. You add a line such as worker: bundle exec sidekiq to your Procfile, and the worker gets its own containers, with its own size, separate from the web process. New process types start scaled to 0, so you scale the worker up once from the dashboard or the CLI.

Scheduled tasks live in a cron.json file at the root of the app. Each run starts a one-off container, which defaults to size M with 512 MiB of memory. Its docs warn that a run can be missed or start up to 20 minutes late, and tasks are killed after 12 hours.

  • Best for: Rails, Django or Node.js apps with a worker, a few daily tasks and a managed database on one bill.
  • Price: each container from €7.20 a month for 256 MB, excl. VAT, or €8.64 in the SecNumCloud region. The scheduler itself is free, and you pay for the one-off containers by size and run time.
  • What it lacks: schedules more frequent than every 10 minutes, and a promise that every scheduled run happens.

2. Clever Cloud

Clever Cloud starts the command in CC_WORKER_COMMAND once the app passes its startup checks, and restarts it after a failure by default. Numbered variables such as CC_WORKER_COMMAND_0 add more workers, which share the instance with your web server.

Crontab lines go in clevercloud/cron.json. Since every instance runs the full crontab, the docs suggest checking INSTANCE_NUMBER, which is 0 on the first instance, to run a job only once. Missed runs aren't caught up.

  • Best for: a queue consumer that should scale with the web app, from a French provider with managed Redis and Postgres.
  • Price: by instance size and count, billed by the second, with free credits to start.
  • What it lacks: workers and cron for Docker applications, which have to start background processes from the image.

3. Upsun

Upsun, the trading name of Platform.sh SAS, declares workers and crons in the same config file as the app. A worker is a copy of the app with its own start command and, if you want, smaller resources. Nothing outside can connect to it, and Upsun restarts it if the command exits.

Crons run only on the web instance, one at a time per container, and each trigger is shifted by a random delay of up to 20 minutes or the cron interval, whichever is shorter. Upsun's regions run on AWS, Azure, Google Cloud or OVHcloud, and the regions page names the provider for each one.

  • Best for: teams that want workers and crons copied into every preview environment along with the app.
  • Price: €9 per project and €10 per user a month, plus CPU, memory and storage billed per second.
  • What it lacks: a fixed bill, since workers add resources. On a deploy, a worker gets 15 seconds after SIGTERM before it's killed.

4. Scaleway

Scaleway, a French cloud provider, splits the job into separate products. Serverless Jobs runs a container image to completion, on demand or on a cron schedule, with up to 6 vCPU, 16 GB of memory and 24 hours per run. Queues is a managed message queue built on the AWS SQS protocol with Scaleway's own stack, so the AWS SDK works against it. It offers standard queues with at-least-once delivery, FIFO queues and dead-letter queues.

  • Best for: bursty batch work and queue traffic when you're happy to push your own images and pay only while something runs.
  • Price: Serverless Jobs includes 400,000 GB-s of memory and 200,000 vCPU-s free each month, then €0.0000020 per GB-s and €0.0000100 per vCPU-s. Queues is billed on queue volume, the combined size of the messages passing through your queues.
  • What it lacks: a build from your repository. Jobs run images you build and push yourself, which must target linux/amd64, and a FIFO queue keeps only one message in flight at a time.

5. Sliplane

Sliplane bills per server, not per service, so a worker is simply another service beside your web app and costs nothing extra while the server has room. Sliplane works out the framework on its own, or builds your Dockerfile, or pulls a ready image. A Redis container can share the same server too. Its regions include Germany and Finland alongside the US and Singapore, so put the server in one of the two European ones.

  • Best for: a web app, a worker and a cache on one machine at a fixed price.
  • Price: the Starter server, with 1 vCPU and 1 GB of memory, costs €9 excl. VAT.
  • What it lacks: a documented scheduler. Run cron inside a container or use your job library's own recurring tasks.

6. Hetzner

On a Hetzner server you run the worker under systemd or Docker and schedule with system cron. The cheapest listed server is a CPX02 at €5.49 a month excl. VAT in Helsinki, €6.49 in Falkenstein or Nuremberg, but on 10 November 2026 those entry plans couldn't be ordered.

  • Best for: a worker that's busy around the clock, run by someone at home on a Linux shell.
  • What it lacks: restarts, backups and monitoring unless you set them up. Coolify covers part of that.

Where Eurobase fits

Eurobase hosts the web part of the app on European infrastructure run by Scaleway, a French provider, but it doesn't run jobs. Each project is one web service with no workers or scheduled tasks, Cron Triggers in a Wrangler config don't run, and containers scale to zero without traffic, so a background loop stops.

Short work after a response does fit: on V8 isolates, ctx.waitUntil keeps it alive for 30 s after the last request ends. For anything longer, keep the app on Eurobase and send jobs to a queue that a worker elsewhere consumes.

  • Price: a Free plan, then €10 or €20 a month + VAT per workspace. There are no usage charges today: work over a limit is refused, apps on V8 isolates and Functions stop until the monthly reset, and containers and static sites keep serving.
  • What it lacks: workers, cron, managed Redis or Postgres, and queues. Neither ISO 27001 nor SOC 2 is held yet; both are in progress.

See Runtime limits and Containers.

How to choose

  1. A worker, a scheduler and a managed database from one vendor: Scalingo or Clever Cloud.
  2. Workers and crons copied into every branch environment: Upsun.
  3. Bursty batch work you'd rather pay for by the second: Scaleway Serverless Jobs, with Queues in front.
  4. A steady worker at a fixed price: Sliplane, or a Hetzner server you look after.
  5. A web app that only needs a few seconds of work after a response: Eurobase, with ctx.waitUntil.

For the database behind your queue, see Managed Postgres in Europe and European alternatives to Upstash Redis.

Frequently asked questions

Do I need Redis for background jobs?

No. Redis is common, but database-backed libraries keep jobs in a table instead. pg-boss needs PostgreSQL 13 or newer and handles retries with backoff and cron schedules, and Solid Queue runs on PostgreSQL, MySQL or SQLite with recurring tasks in config/recurring.yml.

Can I run a cron job every minute on a European PaaS?

Not with the built-in schedulers of Scalingo or Upsun, which stop at 10 and 5 minutes. Clever Cloud's docs give no minimum, but every instance runs each line. For a job every minute, run a worker that keeps its own timer, or use your job library's recurring tasks.

Is there a European alternative to AWS SQS?

Scaleway Queues speaks the SQS protocol, so code written with the AWS SDK can point at it once you set the region and endpoint. It runs on Scaleway's own stack, with no dependency on AWS. Check its list of supported actions first, since FIFO queues don't support MessageGroupId.

Sources

Deploy your app in Europe

Sign up