Dispatcher and Performer — the three roles on the conveyor

image
image
image
Version: 2.1.9
© 2025 PYE Tech. All rights reserved.

The three roles on the conveyor

This page explains the robots that use Curator’s queue. It is written for the person who designs the process — analyst, coordinator, business owner. You do not need to know how to program. Whenever an English name appears, it is translated right there. The animations play on their own: hover to pause and click to watch again.

The conveyor is the queue: a central list of cases. Each case is a ticket — identity, data, status and history. On that conveyor there are three roles. They are not three different technologies. They are three ways to use the same list.

Name in Curator In plain language
Dispatcher Builds the stack of tickets. It does not post in the destination system.
Performer Takes the next ticket, resolves the case and returns the stamped ticket.
Disperformer The same person photocopies the tickets in the morning and then posts them. One project, two phases.
The idea in one sentence. All three share the same conveyor. What changes is where the case comes from and what “work” means in that run.

The cycle all three share

Before the roles, the skeleton. Curator does not generate a “run everything and, if one breaks, stop everything” script. It generates a cycle: start, take the next case, work that one, write the result, take again. When there is no case left, it stops.

Step What it does
Start Reads the settings, signs in to the queue, opens the browser if needed.
Take Finds the next case for this robot — a spreadsheet row, or a queue ticket.
Work Does the work for that case: enqueue, or post in the system, depending on the role.
Write down Records success, a business failure or a technical failure. Decides whether to retry.
Stop When there is no case left: closes what it opened and cleans up.

On failures: the practical question is if I retry now, with the same data, is there a chance it will work? If not, it is a business failure — stop retrying. If yes, it is a technical failure — you may retry, with a limit. The detail is in Queues.

This applies to all three. What changes is where the “next case” comes from and what “work” means.

The ticket agreement

Dispatcher and Performer do not talk to each other directly. They meet at the queue item. That is why they need to agree on what is written — the ticket agreement.

Reference The name the team recognizes, such as PED-88421. Do not use “row 2”.
Priority Who goes first. Use “critical” for real — month-end close, a short deadline.
What the robot needs Customer, amount, channel, file path. Only what the Performer uses to work. The same names on both sides.
What it writes at the end Protocol, file path. Do not store a password, a screenshot or the whole PDF.
Same queue name. The list name must be identical for who puts items in, who works them (or the Disperformer) and on the Queues screen. An extra space or a different capital letter breaks the meeting. And: if the queue has unique reference, the same reference does not enter again while the item is still active — that stops duplicates when the Dispatcher runs twice on the same spreadsheet.

Dispatcher — who feeds the conveyor

Its question: which cases need to enter the queue now? It does not register in the ERP, does not finish downloading the invoice, does not confirm the protocol. It prepares the work.

Where it usually takes cases from:

  • The day’s spreadsheet.
  • A system that lists pending orders.
  • A folder with new files.
  • A report the supplier sends in the morning.

In the Dispatcher cycle, the “case” is the next row (or the next source record). Work = transform that row and put it on the queue. When the source ends, it stops. It does not loop forever — the usual pattern is a time trigger: every 15 minutes, once a day, at the start of the shift.

What it does

  • Reads the source.
  • Skips what should not enter — canceled, already processed, empty row.
  • Writes on the ticket the reference and what the other robot will need.
  • Puts the ticket on the queue and stops.

What it does not do

  • It does not open the destination system.
  • It does not fill in screens or generate a protocol.
  • It does not “solve” the case. It only prepares the list.
If the Dispatcher does the Performer’s job. One bad case holds the whole inbound load — and you lose the queue’s benefit. And if it runs twice on the same spreadsheet: use a reference the team recognizes and turn on unique reference on the queue.

Analogy. It is who stacks the case files on the desk. It does not post each case in the system.

Performer — who takes each piece and works

Its question: what is the next item I can process safely? It does not read the source spreadsheet. It only sees the queue. It takes the next one, reserves it (another PC does not take the same), runs the business rule, tells the queue: success, business failure or technical failure. Empty queue → stop.

The ticket states (New, In progress, Success, Failed) are in Queues. For continuous operation, the team starts it again on schedule — or leaves more than one PC on.

Several PCs on the same list

A queue can have several Performers at the same time. You do not need three queues to have three PCs. Curator hands out different tickets — like a ticket board with three clerks.

Can it run twice without duplicating? If the same order is processed again (a retry or a click on “Try again”), the robot needs to ask: “does this entry already exist?”. If it does, it does not create another — it just records the protocol.

Analogy. It is who takes the next ticket from the stack, resolves that case in the system, returns the stamped ticket and takes the next one.

Disperformer — both roles in the same project

In one sentence: a single agent that, in each run, first dumps the spreadsheet onto the queue and then consumes that same queue as a Performer. Not two robots. One project, one folder, the same queue name, two phases in the same run.

Phase 1 (once per run). It reads the whole spreadsheet, builds the tickets and puts them all on the queue at once. That is not posting in the system — only the spreadsheet → stack copy.

Phase 2. Same as the Performer: take the next from the queue, work, write down, next. When the queue is empty, it stops.

When to choose it

  • One person or one PC would do the whole process.
  • The source is a simple spreadsheet.
  • Low or medium volume.
  • You want a queue (per-item status, retry, Queues screen) without keeping two projects.

When not to choose it

  • You need several robots in parallel on the work → Dispatcher + N Performers.
  • Collection is one job (overnight) and execution is another (all day).
  • The source is not “read Excel and send”: it needs to browse, read a document or call several sources just to decide what enters.
Careful when running again. The same spreadsheet without unique reference on the queue can enqueue again what is still on the list or already processed. And: if collection needs a screen or heavy rules before enqueueing, the right type is a separate Dispatcher — Disperformer phase 1 is only a copy.

Analogy. It is the same person who, in the morning, photocopies every ticket onto the stack and then posts ticket by ticket. It does not call a colleague for the second half.

The three side by side

Dispatcher Performer Disperformer
Question What enters the queue now? What is the next safe case? Both, in that order, in the same run
Case source Spreadsheet row (or another source) Item already on the queue 1st time: whole spreadsheet; then: the queue
Destination Curator queue Business system Spreadsheet → queue → system
Required pair Needs Performer(s) Needs someone who feeds No
Parallel One is usually enough Several on the same queue One agent only
Typical trigger Clock Clock or “queue has N new” Clock (one run does both phases)

Classic flow: source → Dispatcher → queue → Performer(s) → destination. Combined flow: spreadsheet → [Disperformer phase 1] → queue → [Disperformer phase 2] → destination.

How to set it up in Curator

Order matters. First the list, then the project type, then the work. Everything points to the same queue name.

  1. Create the queue with the process name — inbound-orders, not queue1.
  2. Turn on unique reference if the same case must not enter twice.
  3. Choose the type: Dispatcher, Performer or Disperformer.
  4. Point the project at that queue (the same name on both sides, if they are separate).
  5. Teach where cases come from and/or what to do on each — with AI Chat or by adjusting the flow.
  6. Test with a few cases before releasing the day’s batch.

In the test, try to see these three outcomes:

  • ☑️ A case that works and gets a protocol.
  • ☑️ A case with wrong data on purpose — the ticket fails and the reason is readable.
  • ☑️ A second run on the same spreadsheet — with no duplicate ticket.
If you will use more than one PC. That is Dispatcher + Performers. Start the second Performer during the test, with two tickets on the list. Check that each PC took a different ticket.

Day to day

On the queues screen, five questions are enough to know whether the operation is healthy.

  • Did whoever feeds the queue run, and did the new tickets show up?
  • Are the PCs that should be working actually on?
  • Has any ticket been “in progress” for too long?
  • Is today’s failure the same reason as yesterday?
  • Is the new list growing faster than the team can finish it?

If the list grows and the PCs are free, run more Performers. If failures repeat with the same message, stop the batch and fix the source — do not mass-retry in the dark.

Common mistakes

  • ❌ Putting the whole posting inside the Dispatcher.
  • ❌ Making the Performer re-read the source spreadsheet.
  • ❌ Using different field names on the two sides.
  • ❌ Treating every failure as “try again”.
  • ❌ Different queue names across projects for the same process.
  • ❌ In the Disperformer, treating phase 1 as if the case had already been posted.
  • ❌ Running the same spreadsheet again without unique reference.
  • ❌ Mixing three different processes on the same queue.

Summary

  • Three roles, one conveyor: the queue.
  • Dispatcher puts items in. Performer takes, works and writes down. Disperformer does both phases in the same run.
  • The cycle is the same: take → work → write down → next.
  • One bad case must not stop the whole load.
  • The ticket needs the same field names and the same queue name.

Next steps

  • Read Queues for the list itself: the ticket, the states and when to try again.
  • Read AI Chat to teach each type by talking.