Skip to content
Weik.ioUniversity
Try Weik.io

Sending data to several destinations

Patterns 2 · 3:05

Three destinations each receive the invoices from one channel, and each destination has its own reader on the invoice channel. While the archive is down, the accounting and billing systems keep receiving invoices, and the archive's copy waits in Weik.io.

Download the mp4Recorded on 2026.2

What it covers

  • The channel invoice-created, which posts every invoice to accounting only
  • Listing a channel's readers with weikio get readers and on the admin UI's Events page
  • archive.yaml and billing.yaml, each a subscription and a channel for one destination
  • Publishing and deploying all four documents with weikio run ./destinations
  • A durable consumer for each reader, which tracks what it has finished
  • A one-minute archive outage seen under Event delivery, and the retries that deliver the waiting invoice

Commands in this video

Terminal
$ weikio get readers sandbox/invoice-created --env devtest
$ weikio run ./destinations --no-logs
$ weikio get readers sandbox/invoice-archive --env devtest
Transcript
  1. 0:02Three systems need every invoice, and one going down must not stop the other two.
  2. 0:11invoice-files puts new invoices into its channel every minute.
  3. 0:16The subscription files-to-invoices passes them into the channel invoice-created.
  4. 0:22That channel posts every invoice to the accounting system.
  5. 0:26The archive and billing get nothing yet.
  6. 0:29The pattern is a reader for each destination.
  7. 0:36weikio get readers lists each integration reading a channel and how far behind it is.
  8. 0:42invoice-created has two today.
  9. 0:49archive.yaml holds a subscription and a channel.
  10. 0:53invoices-to-archive copies every invoice from invoice-created into invoice-archive.
  11. 0:59That channel posts each invoice to the archive.
  12. 1:02billing.yaml gives billing the same pair.
  13. 1:07weikio run ./destinations publishes and deploys all four documents.
  14. 1:17Each destination now has its own subscription and channel.
  15. 1:21Every read gets a durable consumer that tracks what it has finished.
  16. 1:25The next invoice reaches all three in the same second.
  17. 1:32Run the command again.
  18. 1:36invoice-created now has four readers.
  19. 1:38The two new rows are the archive's subscription and billing's.
  20. 1:43The admin UI's Events page lists the same four.
  21. 1:50The archive stops answering for a minute.
  22. 1:52That minute's invoice still reaches accounting and billing.
  23. 1:56It waits in your Weik.io installation for the archive's reader.
  24. 2:00Run weikio get readers for invoice-archive.
  25. 2:05The reader is one behind, with one retrying.
  26. 2:10The admin UI puts the same numbers under Event delivery on invoice-archive's page.
  27. 2:17accounting and billing keep receiving invoices while the archive's reader stays one behind.
  28. 2:25The archive answers again.
  29. 2:28The next try delivers the invoice that waited,
  30. 2:31and the waiting tile clears from the invoice-archive chip.
  31. 2:34A failed delivery is retried a few seconds later, then after longer waits.
  32. 2:39The archive's line carries a later time than the other two for the same invoice.
  33. 2:48invoice-created now feeds four readers.
  34. 2:51The invoice that waited arrived on the next try.
  35. 2:53One shared route would have held up the other two whenever one was down.

Next in this track

Patterns 3 · 3:21 Running an integration on a schedule Watched

Sign in to the live demo

Sign in with the shared viewer account, which can open every screen of the example projects and can't change anything.

E-mail
viewer@demo.weik.io
Password
try-weikio-live-demo
Open the live demo