19 points par xguru 2025-11-27 | 2 commentaires | Partager sur WhatsApp
  • « Un framework de workflows durable et reprenable, écrit en TypeScript »
  • Fournit un moteur de workflow permettant d’automatiser des flux de travail complexes en connectant divers services et API
  • Plateforme open source modulaire développée pour résoudre les problèmes d’automatisation des workflows et d’intégration
  • Même si le serveur tombe ou qu’un déploiement a lieu, l’état est stocké dans Postgres, ce qui permet de reprendre l’exécution exactement à partir de la dernière étape
  • Comme chaque step.run({ name }, fn) n’est exécuté qu’une seule fois et son résultat est mémoïsé, un redémarrage après crash réutilise le résultat en cache sans relancer des effets de bord comme un paiement par carte ou l’envoi d’un e-mail
  • Sans serveur dédié supplémentaire, les processus worker (ow.newWorker({ concurrency })) interrogent la base pour les exécutions en attente et les traitent ; on peut donc lancer plusieurs workers pour obtenir haute disponibilité et scale-out, et les longs sleep comme step.sleep("id", "1h") n’occupent pas de slot worker
  • Grâce aux génériques d’entrée/sortie des workflows, au champ de version (version: "v2"), à run().result(), handle.cancel(), etc., la définition typée, la gestion de version, la consultation des résultats et l’annulation sont toutes conçues pour être gérées au niveau du code
  • Prend en charge l’extension et la personnalisation avec des systèmes externes via une architecture de plugins
  • Intègre les principaux SaaS et outils de développement comme OpenAI, Slack, GitHub, Notion
  • Pour l’instant, l’accent est mis sur le backend PostgreSQL et les fonctions runtime de base (exécution concurrente, retry, étapes parallèles, sleep, gestion de version, cancel)
    • La feuille de route inclut ensuite CLI, dashboard, clé d’idempotence, fonctions de rollback/compensation, signaux (signals), OpenTelemetry, backends Redis/SQLite, SDK Go/Python

2 commentaires

 
hiyama 2025-11-27

Il y a quelque temps, il y avait eu ça : GitHub - earendil-works/absurd: An experiment in durability https://share.google/PCjaLh3j46ayECI9b ... ça a l’air d’être un projet avec le même concept, mais il est passé où ?

 
click 2025-11-27

Ça donne une impression assez proche de Spring Batch.