How to set up cron jobs in GSM X Tool (and why orders get stuck without them)

Orders that never leave "In process" are nearly always a missing cron job. Where to find your cron URLs, how to add them in cPanel, what each one does, and what to do if your host has no cron.

GSM X Tool team2 November 2026 3 min read
On this page
  1. What happens when a customer places an order
  2. Where to find your cron jobs
  3. What each job does
  4. Adding them in cPanel
  5. No cron on your hosting?
  6. How to tell if cron is running
  7. Common mistakes

When a shop owner writes in to say orders are stuck, the answer is usually not a supplier problem or a bug. It is a cron job that was never added. This guide shows where GSM X Tool lists your cron jobs, how to add them, and what each one does every minute.

What happens when a customer places an order

A GSM order goes through two very different moments:

  1. The order is placed. The customer submits an IMEI or serial number and their balance is charged. The order now waits to be sent to the supplier you picked for that service.
  2. The result comes back. The supplier may answer in seconds or in a few days, depending on the service. Nobody is on the page waiting for that, so something has to go and ask.

Both the sending and the asking are cron work. Without cron, the order is placed and then nothing else happens. The only exceptions are suppliers with Instant Send on, which still rely on cron for the result.

Where to find your cron jobs

In the admin panel open Supplier APIs › Cron Jobs. The page lists:

  • one System job for the whole shop, and
  • one job for every active supplier API.

Each has a run URL and a ready-made cron line with a copy button. A cron line looks like this:

curl -s "https://yourdomain.com/cron/api/3/run" > /dev/null 2>&1

The number in the URL is the API. Do not type these by hand. Copy them from the page, because the address must be your own domain exactly as the shop knows it.

What each job does

The API job, one per supplier

  • sends that supplier the orders waiting for it,
  • asks the supplier for the result of open orders and saves it, which completes or rejects the order and refunds the customer if it was rejected,
  • picks up orders that got stuck halfway through sending,
  • syncs the supplier's services, prices, fields and delivery times, at most once every five minutes.

The System job

  • checks your licence a few times a day,
  • checks for new GSM X Tool updates,
  • updates the status of tool services,
  • finishes guest orders whose payment arrived while nobody was watching,
  • sends task due-date reminders to your team.

Adding them in cPanel

  1. Open Cron Jobs in cPanel.
  2. Under Common Settings choose Once Per Minute.
  3. Paste the System line into Command and click Add New Cron Job.
  4. Do the same for each API line.

Once a minute is the interval the system is built for. Each job keeps its own lock, so a slow supplier never runs twice at the same time, and a job that has nothing to do finishes in a moment.

Added a new supplier API? It needs its own cron line. Go back to Supplier APIs › Cron Jobs and copy the new one.

No cron on your hosting?

Some hosts limit cron to every 15 minutes or do not offer it at all. You have two ways around that:

  • GSM Cron. The Cron Jobs page links to gsmcron.com, a service that calls your run URLs for you on a schedule.
  • The Instant Support API type. Suppliers connected this way handle one order per request and do not need a cron job.

For a shop that is growing, the better long-term answer is hosting with a proper one-minute cron. See choosing hosting for a GSM website.

How to tell if cron is running

  • Place a test order on a fast service. If the supplier shows it as finished but your shop still shows In process after a couple of minutes, that supplier's API job is not running.
  • Open a run URL in your browser. A working job answers success. api_not_found means that API is inactive or was deleted, and already_running means a previous run is still busy, which is normal now and then.
  • Open Logs › API Logs. If the newest entry for a supplier is hours old while orders are waiting, its cron is not being called.

Common mistakes

  • Only the System line added. Every supplier API needs its own line too.
  • A line for an API that was later deleted. It answers api_not_found and does nothing. Remove it.
  • The wrong domain. Copy the line from the Cron Jobs page instead of editing an old one from another shop.

Once the cron lines are right, orders that were stuck usually catch up on the next run, with no other action needed. Still setting up? Start with the install guide, then add your first supplier API.

All guides
Share this guide

Read next

All guides