Appearance
When things happen
This page lists every schedule and every delay in Stock Sync, so you know when to expect something and when to start worrying. All times are Romanian time (Europe/Bucharest). The odd minutes (:07, :41…) are deliberate: eMAG asks sellers not to call it on round hours, when everybody else does.
The daily timetable
| When | What | Shown in Activity → Sync runs as | Why |
|---|---|---|---|
| Every 15 minutes, at :07, :22, :37, :52 | Read the products that changed in the PIM | PIM reading | Picks up stock and lead-time changes |
| Seconds after a PIM reading finds a change | Recalculate the affected offers, then send to each Live account | Sending round | Gets the new number to the marketplace |
| Every minute | Check for offers whose retry time has come, and send them; on ABOUT YOU, also ask about updates whose check is due | Sending round (when something is sent or confirmed) | Temporary errors recover without anyone acting |
| 02:17 every night | Read all PIM products and find removed ones, then recalculate every account that is not paused or suspended | Full PIM check, then Recalculation | Catches anything missed; orphans offers of deleted products |
| 03:53 every night | Delete old history (see How long things are kept) | — | Keeps the system fast |
| 04:41 every day | Import the offers of every account that is not paused or suspended | Offer import | Finds new offers and corrects drift (stock the marketplace changed itself, for example after an order) |
Some things also happen when Stock Sync starts (for example after an update): one PIM reading straight away.
And some happen when you ask:
| You press | What runs |
|---|---|
| Read PIM now (Overview, Activity, or Ctrl K) | A PIM reading, straight away |
| Import offers (the account's More menu, or the Accounts page for one or several accounts) | An offer import for each account |
| Recalculate (the same places) | A recalculation of every offer of each account |
| Save after changing the Lead-time limit | A recalculation of the account |
| Resume or Recover | An offer import, a recalculation and sending what is waiting (if Live), requested together. Recover on a paused account waits for Resume |
| Go Live (and confirming Go live) | Sending everything that is waiting |
| Retry failed, Resync stock, Resync | Sending those offers again |
A day at a glance
The lengths of the nightly bars are indicative: they depend on the size of the catalog and of each account.
One hour, zoomed in
A change made in the PIM just after a reading waits almost 15 minutes for the next one; a change made just before a reading goes out within seconds.
How long until the marketplace shows a change
| Step | Typical time |
|---|---|
| Waiting for the next PIM reading | 0 to 15 minutes, about 7 on average |
| The reading itself | a few seconds |
| Recalculating and handing over to the sending round | about a second |
| Sending to the marketplace (a few dozen offers) | a second or two |
| Total, from the PIM to the marketplace | at most about 15 minutes, usually less |
The time the warehouse system takes to update the PIM comes before this and is outside Stock Sync. Read PIM now removes the first wait when you need it.
Large amounts take longer, because the marketplace limits how fast we may send: at the default Request budget of 2 requests per second, with 50 offers per request, Stock Sync sends about 100 offers per second. A full re-send of a 100,000-offer account takes about 17 minutes.
ABOUT YOU: when an update is confirmed
ABOUT YOU accepts a stock update first and says a little later whether it applied it (see ABOUT YOU: sent first, confirmed a moment later). Meanwhile the offer is Sent, awaiting confirmation, and Stock Sync asks ABOUT YOU about the update on this schedule, counted from when it was sent:
| Check | When |
|---|---|
| First | 10 seconds after sending |
| Next five | every 10 seconds, so six checks in the first minute |
| Next four | every 30 seconds, until about 3 minutes after sending |
| After that | every minute |
| Given up | 30 minutes after sending: the offer goes back to Waiting to send, with "ABOUT YOU did not confirm the update within 30 minutes" in Last problem, and its stock is sent again on the retry timetable |
- ABOUT YOU usually decides within a minute, so an ABOUT YOU offer is usually In sync a minute or less after it is sent.
- If ABOUT YOU says how long to wait, Stock Sync waits at least that long before asking again.
- The check that runs every minute (see The daily timetable) also looks for ABOUT YOU updates whose check is due. It is the backstop: a check that was missed, for example while Stock Sync restarted, still happens within about a minute.
- A paused or suspended account is not asked; its updates are checked once more when it is active again.
Retry delays
When the marketplace is busy, times out or does not answer, the offer is retried after a growing delay:
| After failed attempt | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|
| Next try in | 30 s | 1 min | 2 min | 4 min | 8 min | 16 min | 30 min | — (Failed) |
- The waits add up to about 62 minutes. Retries are started by the check that runs every minute, so each wait can be up to a minute longer.
- If the marketplace says how long to wait, Stock Sync waits at least that long.
- A campaign lock is different: it is retried every 6 hours, for up to 14 days from the first refusal.
- A new stock number for the offer is tried at once, whatever the retry timetable says.
Warnings on the screen
| What | Green | Amber | Red |
|---|---|---|---|
| PIM data (time since the last successful PIM reading) | up to 20 minutes | more than 20 minutes: "PIM reading is late" | more than 35 minutes: "PIM data is out of date" |
| Offers in sync (share of linked offers of accounts that are not paused, suspended ones included) | 99 % or more | 90 % to 98 % | under 90 % |
| Needs a fix (failed, rejected and orphaned offers) | 0 | — | 1 or more |
| Waiting to send (stock the marketplace has not applied yet) | — | some are held by an account that cannot send | — |
| Orders to check | none needs a person, nothing waiting | one needs attention, or the oldest waiting order has waited an hour | — |
| Set-aside outbox messages (the red number beside Activity) | none | — | 1 or more |
Twenty minutes means one reading was missed; thirty-five means two were.
How fast the screens follow
The screens do not wait for a timer: Stock Sync pushes every change to the open pages as it happens, and the page you look at updates by itself within a second or so. The Live pill at the top right says whether this is working (see The Live pill).
| Live pill | How the page keeps up |
|---|---|
| Live | Changes arrive as they happen. As a safety net, every screen also fetches fresh figures once a minute. |
| Connecting… or Not live | The page fetches fresh figures every 15 seconds instead, as before live updates existed. |
| Paused (you paused live updates) | Nothing changes on screen until you resume; then everything that arrived meanwhile is applied at once. |
If the live connection drops after it worked, a line under the top bar says so ("Connection lost at …"), and the page catches up on what it missed once it is back. On the Overview, the Throughput chart on 7d and 30d refreshes once a minute.
Other timings
| What | Timing |
|---|---|
| Messages leaving the outbox | Every half second when there is nothing to do, straight away when busy |
| A message that cannot be passed on | Set aside after 5 refusals (at once if it is too large or cannot be packaged) |
| A scheduled job that is still running when its next time comes | Not started twice: that run is skipped, and the next scheduled time runs as usual |
| Toast messages after an action that needs your attention | Stay 15 seconds |
How long things are kept
The 03:53 clean-up deletes:
| What | Kept for |
|---|---|
| An offer's history (on the offer page) | 90 days |
| The sync runs (Activity → Sync runs) | 90 days |
| The exact messages exchanged with the marketplace | 30 days |
| Outbox messages already passed on | 7 days |
| Set-aside outbox messages | until released |
| An order's customer details and its activity (on the order page) | 30 days after the order ended (imported, cancelled before import, cancelled or resolved); a cancellation from Stock Sync starts the 30 days again when it ends |
| The record of every operator action (an account's Activity tab, the Live feed) | forever |
Examples
Example 1: a stock change at 10:08
The PIM changes product 101577 at 10:08, one minute after the 10:07 reading. The 10:22 reading picks it up; eMAG RO shows the new number at about 10:22:25, 14 minutes later. Had the change happened at 10:21, it would have gone out 1 minute later, at the same 10:22 reading.
Example 2: a customer order overnight
A customer buys the last piece of offer 88420 on Fashion Days RO at 23:30. The marketplace lowers its own stock to 0. The order reaches the PIM at 06:00.
- 04:41: the offer import sees Marketplace shows 0 while we last published 1. That is drift: Stock Sync sends 1 again, because the PIM still says 1.
- 06:07: the PIM reading brings the order: available 0. Stock Sync sends 0.
Between 04:41 and 06:07 the offer showed 1. This is expected: the PIM is the source of truth, and it did not know about the order yet.