19 điểm bởi xguru 2025-11-27 | 2 bình luận | Chia sẻ qua WhatsApp
  • "Framework workflow bền vững (durable), có thể tiếp tục lại (resumable) được viết bằng TypeScript"
  • Cung cấp workflow engine giúp tự động hóa các luồng công việc phức tạp bằng cách kết nối nhiều dịch vụ và API
  • Nền tảng mã nguồn mở dạng mô-đun được phát triển để giải quyết các vấn đề về tự động hóa workflow và tích hợp
  • Ngay cả khi server gặp sự cố hoặc có đợt triển khai, trạng thái vẫn được lưu trong Postgres để có thể tiếp tục chạy chính xác từ bước cuối cùng
  • Vì mỗi step.run({ name }, fn) chỉ được thực thi một lần và kết quả được memoize, nên khi khởi động lại sau sự cố sẽ không chạy lặp lại các tác vụ có tác dụng phụ như thanh toán thẻ hay gửi email, mà tái sử dụng kết quả đã lưu trong bộ nhớ đệm
  • Không cần server chuyên dụng riêng; worker process (ow.newWorker({ concurrency })) sẽ polling các lần chạy đang pending từ DB và thực thi chúng, nên có thể chạy nhiều worker để đạt tính sẵn sàng caoscale-out, đồng thời sleep dài hạn như step.sleep("id", "1h") cũng không chiếm worker slot
  • Được thiết kế để có thể xử lý ở cấp độ code toàn bộ định nghĩa an toàn kiểu, quản lý phiên bản, truy vấn kết quả và hủy, thông qua generic input/output của workflow, trường phiên bản (version: "v2"), run().result(), handle.cancel() v.v.
  • Hỗ trợ mở rộng và tùy biến với hệ thống bên ngoài thông qua kiến trúc plugin
  • Hỗ trợ tích hợp với các SaaS và công cụ phát triển phổ biến như OpenAI, Slack, GitHub, Notion
  • Hiện tại tập trung vào backend PostgreSQL và các tính năng runtime cơ bản (thực thi đồng thời, retry, step song song, sleep, quản lý phiên bản, cancel)
    • Trong lộ trình tiếp theo có CLI, dashboard, idempotency key, hàm rollback/compensation, signals, OpenTelemetry, backend Redis/SQLite, SDK Go/Python

2 bình luận

 
hiyama 2025-11-27

Cách đây không lâu có bài về GitHub - earendil-works/absurd: An experiment in durability https://share.google/PCjaLh3j46ayECI9b được đăng lên rồi... Có vẻ là một dự án cùng concept, nhưng nó đi đâu mất rồi nhỉ...

 
click 2025-11-27

Có cảm giác khá giống với Spring Batch.