{"repo":"choria-io/asyncjobs","free":true,"listed":false,"github":"https://github.com/choria-io/asyncjobs","clone":"git clone https://github.com/choria-io/asyncjobs.git","description":"Asynchronous Job Processor","language":"Go","stars":134,"topics":["asynchronous","scheduling","jobs","queues","go","golang","scheduler","task-queue","worker-pool","nats"],"license":"Apache-2.0","category":"workflow-automation","readme_excerpt":"Overview This is an Asynchronous Job Queue system that relies on NATS JetStream for storage and general job life cycle management. It is compatible with any NATS JetStream based system like a private hosted JetStream, Choria Streams or a commercial SaaS. Each Task is stored in JetStream by a unique ID and Work Queue item is made referencing that Task. JetStream will handle dealing with scheduling, retries, acknowledgements and more of the Work Queue item. The stored Task will be updated during the lifecycle. Multiple processes can process jobs concurrently, thus job processing is both horizontally and vertically scalable. Job handlers are implemented in Go with one process hosting one or many handlers. Other languages can implement Job Handlers using NATS Request-Reply services. Per process concurrency and overall per-queue concurrency controls exist. This package heavily inspired by hibiken/asynq. Documentation Community Examples Golang CLI Status This is a brand-new project, under heavy development. The core Task handling is in good shape and reasonably stable. Task Scheduler is still subject to some change. Synopsis Tasks are published to Work Queues: Tasks are processes by horizontally and vertically scalable processes. Typically, a Handler handles one type of Task. We have Prometheus integration, concurrency and backoffs configured. See our documentation for a deep dive into the use cases, architecture, abilities and more. HTTP API Non-Go services and operators can use a","default_branch":null,"files":null,"tree":[],"storefront":"/r/choria-io","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/choria-io/asyncjobs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}