<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio" -->

---
title: Combining the To-Do List and the Passage Of Time...
description: A practical guide to combining two architectural patterns — the To-Do List and the Passage of Time — to build resilient, timeout-aware business workflows....
canonical: https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Combining the To-Do List and the Passage Of Time patterns for resilient business workflows | daily.dev
og:description: A practical guide to combining two architectural patterns — the To-Do List and the Passage of Time — to build resilient, timeout-aware business workflows....
og:url: https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio
og:image: https://api.daily.dev/og/posts/5fmrSghiO.png
og:image:alt: Combining the To-Do List and the Passage Of Time patterns for resilient business workflows
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Combining the To-Do List and the Passage Of Time patterns for resilient business workflows

**[Event-Driven by Oskar Dudycz](https://daily.dev/sources/event-driven-io)** · 10 min read · 0 upvotes · 0 comments

## Summary

A practical guide to combining two architectural patterns — the To-Do List and the Passage of Time — to build resilient, timeout-aware business workflows. Using an order management example in C#, the post shows how a read model of pending orders (To-Do List) can be periodically scanned by time-based events emitted via Quartz.NET (Passage of Time) to automatically cancel timed-out orders. The approach handles race conditions with optimistic concurrency, tolerates delayed or lost time events gracefully, and avoids the fragility of scheduled commands. Code examples use Marten projections and an in-memory event bus.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://event-driven.io/en/to_do_list_and_passage_of_time_patterns_combined>

---

Tags: [#architecture](https://daily.dev/tags/architecture), [#c#](https://daily.dev/tags/c#), [#distributed-systems](https://daily.dev/tags/distributed-systems)

[View this post on daily.dev](https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Combining the To-Do List and the Passage Of Time patterns for resilient business workflows","url":"https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio"},"datePublished":"2026-06-17T11:26:20.091Z","dateModified":"2026-06-17T11:32:39.449Z","description":"A practical guide to combining two architectural patterns — the To-Do List and the Passage of Time — to build resilient, timeout-aware business workflows....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ddd016372e5d41c46e03bacc9e215097?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ddd016372e5d41c46e03bacc9e215097?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Event-Driven by Oskar Dudycz","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Event-Driven by Oskar Dudycz","logo":"https://media.daily.dev/image/upload/s--unDKCFQ0--/f_auto,q_auto/v1781695550/logos/event-driven-io?_a=BAMAMiWQ0","url":"https://daily.dev/sources/event-driven-io"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/combining-the-to-do-list-and-the-passage-of-time-patterns-for-resilient-business-workflows-5fmrsghio","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"architecture,c#,distributed-systems","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Event-Driven by Oskar Dudycz","item":"https://daily.dev/sources/event-driven-io"},{"@type":"ListItem","position":3,"name":"Combining the To-Do List and the Passage Of Time patterns for resilient business workflows"}]}
```

