Skip to content

Activity ​

The Activity page shows what Stock Sync is doing, live: every change as it happens, every background run, and the outbox messages that need releasing. Open it with Activity in the sidebar (its red number counts set-aside outbox messages), with Open the activity feed under Happening now on the Overview or in the Live pill, or by pressing G then V.

The page has three views, chosen with the tabs under its title:

ViewWhat it showsIts number
Live feedEvery change as it happens: stock, orders, accounts, runs—
Sync runsBackground work: PIM readings, offer imports, sending rounds, recalculationsRuns that failed in the last 24 hours (red)
OutboxMessages the queue refused, waiting for a person to release themSet-aside messages (red)

The view and its filters are kept in the page's address, so you can send a colleague a link to exactly what you see. The former Sync history and Outbox addresses open the matching view here.

At the top right:

  • Legend — what each run result, run type and outbox state means, and what to do about it.
  • Read PIM now — reads the PIM products that changed since the last reading, without waiting for the 15-minute schedule: "A PIM reading was requested. It shows under Sync runs once it has run." Operators only. See Read the catalog again now.

Live feed ​

The Live feed, with the tabs Live feed, Sync runs 1 and Outbox 3: the filters Kind, Account, Problems only (off) and Hide routine readings (on) with Live · 92 events in the last hour on the right, then lines under Today such as PIM reading succeeded · 318 seen · 27 changed, Order ayou-139-38291045: Received from the marketplace, Offer 310458: published 7 and, with a red dot, Offer 298117: failed after retries, each with a coloured dot, a kind icon, the account's badge and name, the Stock Sync mark, and how long ago

Each line is one event, newest first, grouped by day (Today, Yesterday, then the date):

  • The dot — its colour: green for done, amber for worth a look, red for a refusal or failure, grey for information.
  • The icon — its kind: Offers, Orders, Accounts or Sync runs. Hover over it for what that kind covers.
  • What happened — for example Offer 310458: published 7, Sending round succeeded · 40 published · 1 rejected · 1 failed, Order ayou-139-38291045: Queued to be imported or Account paused. A line about an offer or an order is a link: it opens that offer or order in the side panel of its list.
  • The account — its badge and name; click it to open the account. Left out when the page is narrowed to one account.
  • Who — the person's initials (hover for their e-mail address), or the Stock Sync mark for something the system did.
  • When — how long ago; hover for the exact date and time.

New lines slide in on top as they happen, pushed by the server; the lines already on screen stay where they are. Show older at the bottom loads earlier events.

Filters ​

FilterShows
KindOne kind of event: Offers (stock to publish changed, sent, published, rejected, failed; resyncs), Orders (received, imported, needing attention, resolved, cancelled), Accounts (created, paused, resumed, suspended, recovered, settings changed; Odoo and PIM requests) or Sync runs (finished background runs)
AccountOne account's events
Problems onlyOnly amber and red events: rejections, failures, suspensions, orders needing attention
Hide routine readingsOn by default. PIM is read every 15 minutes and most readings find nothing new; they are left out so what changed stands out.

Clear filters removes them all. With filters and nothing matching, the feed says No events match. Clear a filter to see more.

Is it live? ​

The line at the right of the filters says whether events arrive by themselves:

It saysIt means
Live · [n] events in the last hourConnected: events appear the moment they happen. The dot pulses with each one.
Paused with ResumeYou paused live updates (in the Live pill or in Settings). The screen is frozen; Resume applies what arrived meanwhile and keeps updating.
Connecting…The live connection is being made.
Not live · refreshes every 15 sNo live connection: the page asks for new events every 15 seconds instead.

See Live updates.

Sync runs ​

Every run of the sync, newest first: each PIM reading, full PIM check, offer import, sending round and recalculation, with its result and what it did. Runs are kept for 90 days. Use it to check that something ran, to see how long it took, and to read why a run failed.

Activity on the Sync runs view: the filters Type, Result, Account and Hide routine readings, a line with 1,284 runs and 1 failed in the last 24 hours, then a table of runs with Type, Account, Started, Duration, Result and Counts; a PIM reading 17 seconds ago, a Sending round of Fashion Days RO still Running, and a Sending round for Fashion Days BG that Failed with Account unavailable: eMAG offer/save answered 401: Invalid vendor credentials

The columns ​

Hover over a column title's (i) for its help.

ColumnWhat it shows
TypeWhat kind of run it was: PIM reading, Full PIM check, Offer import, Sending round or Recalculation. Hover for what it does and when it runs.
AccountThe account it ran for, or PIM for the runs that read the catalog for every account at once
StartedWhen it began, for example 2 minutes ago. Hover for the exact time and, for a PIM reading, the period of PIM changes it read.
DurationHow long it took; nothing while it is still running
ResultRunning, Succeeded, Failed (with its reason in red under it) or Stopped
CountsWhat it did, only the figures above zero, for example 318 seen · 27 changed

Above the table: how many runs match, and how many failed in the last 24 hours.

Routine readings are folded ​

PIM is read every 15 minutes, and most readings find nothing new. With Hide routine readings on (the default), consecutive readings that changed nothing are folded into one line, [n] PIM readings, nothing new, so the runs that did something, and the failures, stand out. Click the line to unfold them; hover over it for why they are folded. (The picture above shows none: there the readings in a row each found something.) The line above the table adds · [n] routine readings folded. Turn the switch off to see every reading on its own line.

The five kinds of run ​

TypeWhat it doesAccount columnWhen it runs
PIM readingReads the PIM products that changed since the last reading, and works out their new stock for every accountPIMEvery 15 minutes, and on Read PIM now
Full PIM checkReads every PIM product, to catch anything a reading missed and find removed productsPIMEvery night at 02:17
Offer importReads every offer of one account from the marketplace and links it to its PIM productThe accountEvery day at 04:41; when an account is created, resumed or recovered, when its address changes, and on Import offers
Sending roundSends the waiting stock updates of one account to the marketplaceThe accountSeconds after a change, and every minute for retries. Only Live accounts send.
RecalculationWorks out the stock to publish again for every offer of one accountThe accountAfter a settings change, after the nightly full PIM check, on resume, recover and Recalculate

When things happen shows the whole daily timetable. Every time an operator saves a setting of an account, a Recalculation of that account appears at the top a few seconds later.

The result ​

ResultColourMeansWhat to do
RunningAmberStill goingWait.
SucceededGreenFinished normally. The counts say what it did.Nothing.
FailedRedStopped with an error, shown in red under the resultRead the error. If the same type keeps failing, tell the technical team.
StoppedGreyStock Sync was restarted (for example during an update) while the run was going. The line under it reads, for example, "This operation was aborted".Nothing: the next run of the same kind picks up. It is not an error.

The counts ​

CountMeansTypical in
seenHow many items the run looked atPIM reading, Full PIM check, Offer import, Recalculation
changedHow many of them changed something (new stock, new data)PIM reading, Full PIM check, Recalculation
removedPIM products that disappearedFull PIM check
publishedStock updates the marketplace acceptedSending round
rejectedStock updates the marketplace refusedSending round
failedOffers that gave up after every retry in this round and are now FailedSending round
not linkedOffers that could not be linked to a PIM productOffer import
sent, awaiting confirmationOffers whose numbers were sent to ABOUT YOU in this round and not answered yetSending round (ABOUT YOU)
batch confirmed (batches confirmed)Batches ABOUT YOU answered in this round (up to 1,000 offers each); their offers are counted as published or rejectedSending round (ABOUT YOU)
batch not confirmed in time (batches …)Batches ABOUT YOU did not answer within 30 minutes; their offers are Waiting to send againSending round (ABOUT YOU)

A sending round has no seen count: it counts only what happened to the updates it sent. See ABOUT YOU: sent first, confirmed a moment later.

Reading a row: examples ​

RowWhat it tells you
PIM reading · PIM · 3.1 s · Succeeded · 318 seen · 27 changedIn 3 seconds Stock Sync read the 318 PIM products that changed in those fifteen minutes; 27 of them had a change that matters for stock.
Sending round · Fashion Days RO · 11.4 s · Succeeded · 40 published · 1 rejected · 1 failed40 stock updates went through and the marketplace refused 1. The last one had already been tried many times and has now given up: that offer is Failed. The round itself still succeeded.
Sending round · Fashion Days BG · 1.2 s · Failed · Account unavailable: eMAG offer/save answered 401: Invalid vendor credentialsThe marketplace refused the account's credentials (401 is its code for "wrong login"). The account is now Suspended; nothing is sent until someone fixes the credentials and recovers it.
Recalculation · eMAG BG · 21.7 s · 682 seen · 454 changedEvery offer was worked out again; 454 got a new stock to publish. eMAG BG is in Preview, so those 454 wait.
Offer import · Fashion Days BG · 48.6 s · 1308 seen · 37 not linkedAll 1,308 offers were read, and 37 of them have no PIM product.
Full PIM check · PIM · 21 min 24 s · Succeeded · 48210 seen · 12 changed · 3 removedThe nightly check read all 48,210 PIM products; 12 had a stock change the readings had missed, and 3 products were gone from the PIM.

A sending round that meets a busy or slow marketplace (503, 429 or a timeout) does not fail: it still ends Succeeded, and the offers concerned wait for their next try. A sending round fails only when the account itself can no longer be used, and then its reason starts with Account unavailable:.

Filters ​

FilterShows
TypeOnly runs of that kind
ResultOnly runs with that result, for example Failed
AccountOnly runs for that account. PIM readings and full PIM checks disappear: they belong to the PIM, not to one account.

The Account filter is shared with the other two views: the account you choose stays chosen when you switch view. The Overview's Needs your attention rows about runs, and its PIM data tile, open this view.

How to spot trouble ​

SignWhat it probably meansWhat to do
No PIM reading in the last 20 minutes or moreThe PIM is not being readCheck PIM data on the Overview, and tell the technical team. You can try Read PIM now.
Several PIM reading runs in a row FailedThe PIM does not answerTell the technical team or the PIM team. Stock goes on being sent, but with old figures.
A Sending round Failed with Account unavailable: and 401The account's credentials are refusedThe account is suspended: Bring back a suspended account.
No Sending round for a Live account for a long time, while offers waitThe account may be paused, suspended or in PreviewOpen the account and read its status banner.
An Offer import FailedThe marketplace could not list the offersRead the reason. Try Import offers again later.
A Running run with a start time long agoA run seems stuckTell the technical team.

A single failed run is often fixed by the next run of the same kind.

Outbox ​

The Outbox view lists changes that got stuck inside Stock Sync on their way to being sent, and wait for a person to release them. Normally it is empty. You only need it when Activity in the sidebar shows a red number, or Needs your attention on the Overview says outbox messages are set aside.

What the outbox is, in plain words ​

Think of the outbox as the tray on a desk where finished letters wait for the post. Every time Stock Sync decides something, for example "offer 101577 now needs 5", it writes the decision down and, at the same moment, drops a message about it in the outbox. A few times a second (each round is called a tick), a helper called the relay hands the messages to Stock Sync's internal message queue, which delivers them to the part that does the work. That way no decision can be lost, even if something restarts in the middle.

Almost always a message waits less than a second. If the queue refuses a message five times, the relay stops trying and sets it aside. A message that is too large (over 1 MB) is set aside at once. A set-aside message is never retried or deleted on its own: the change it carries waits until an operator releases it. The view repeats this in a short explanation above the list. If the message queue itself is down, messages simply wait in the tray and nothing is set aside; they go out by themselves when it is back.

The list ​

The Outbox view with three set-aside messages: the explanation What “set aside” means, the Account filter, and a table with Set aside, Account (eMAG RO, Fashion Days RO twice), Change (offer.stock-changed twice, offer.stock-published), Refusals 5 each, Reason Error: Refused 5 times; last: Error: NO_ROUTE - no queue bound for routing key …, and a Release button on each row

ColumnWhat it showsExample
Set asideWhen the queue refused the message for the last time; hover for the exact time38 minutes ago
AccountThe account the change belongs toeMAG RO
ChangeThe change the message carries (its event type) and the record it is aboutoffer.stock-changed
RefusalsEvery refusal, the one that set it aside included: 5 after five refusals, 0 when it was set aside at once (too large)5
ReasonWhat the queue said, or why the message could not be sent. The technical team reads it.Error: Refused 5 times; last: Error: NO_ROUTE - …
(button)Release, for operators

The Change column uses the technical name: the part before the dot is what it is about, the part after it what happened. The most common: offer.stock-changed (a number a sending round should send), offer.stock-published, offer.stock-rejected, offer.stock-failed (what the marketplace answered), offer.linked and offer.orphaned, catalog.item-changed and catalog.item-removed, catalog.poll-requested (Read PIM now), and account.… (a change to an account, for example account.paused).

The list shows at most the 50 newest set-aside messages; when there are more, a line above it says Showing the newest 50 of 73 set-aside messages.

Releasing messages ​

Fix the cause first

Releasing a message before the technical team has fixed the cause only sets it aside again. Ask them first; release when they say it is fixed.

Releasing puts a message back among the waiting ones, with its refusal count back at 0; the relay tries it again from its next tick, a fraction of a second later. Every way of releasing asks for confirmation first.

HowWhat it releasesConfirmation
Release on a rowThat messageRelease this message?
Tick several rows, then Release ([n]) on the bar at the bottomThe ticked messagesRelease [n] messages?
Filter by Account, then Release all for [account]Every set-aside message of the account, including any beyond the 50 shownRelease every set-aside message of [account]? with Release all

The confirmation reads, for example, "Released 1 message. The relay tries it again from its next tick." The message leaves the list and the red number beside Activity in the sidebar goes down. If someone else released a message first, the message says it had already been released. Step by step: Deal with set-aside messages.

When nothing is set aside, the list says "Nothing is set aside. Every change reached the queue.": the normal, healthy state.

What a viewer sees ​

A viewer sees all three views and the Legend, without Read PIM now, Release, the boxes to tick or Release all. Nothing else on this page changes anything.

Good to know

  • A set-aside message never goes away by itself. If Activity in the sidebar shows a number, someone has to act: tell the technical team first.
  • Every release is recorded on the account's Activity tab with the operator's e-mail address.
  • Releasing still works while the message queue is down: the messages then simply wait until it is back.
  • Each account's workspace has its own Activity tab with the same feed and runs, narrowed to that account.

Channel Hub Stock Sync — user guide for operators and viewers