{"repo":"madflojo/tasks","free":true,"listed":false,"github":"https://github.com/madflojo/tasks","clone":"git clone https://github.com/madflojo/tasks.git","description":"Package tasks is an easy to use in-process scheduler for recurring tasks in Go","language":"Go","stars":333,"topics":["golang","scheduler","task"],"license":"MIT","category":"productivity","readme_excerpt":"Tasks A small in-process scheduler for Go tasks that need to run on time. Tasks is built for recurring, quick-running jobs where scheduler-induced jitter needs to stay low and the scheduler should stay out of the way. Each invocation runs in its own goroutine, so one slow task does not make the whole schedule trip over its shoelaces. Use Tasks when you want recurring work without cron wiring, a worker fleet, or a pile of scheduling boilerplate. It is an in-process scheduler, not a durable queue or distributed job runner; if your process exits, your schedule exits with it. That tradeoff keeps the package small, fast, and easy to reason about. Install Why Tasks - Accurate recurring execution : Each invocation runs independently, so a long-running task does not block unrelated schedules. - Small API : Intervals use Go's time.Duration ; no custom cron language required. - Delayed and one-time runs : Use StartAfter and RunOnce for jobs that should begin later or run just once. - Overlap control : Use RunSingleInstance to skip a run when the previous invocation is still working. No dogpiling. - Task context support : Pass user-defined context and task metadata into callbacks with FuncWithTaskContext , ErrFuncWithTaskContext , and TaskContext.ID() . - Stable IDs and branchable errors : Use AddWithID for deterministic identifiers and errors.Is for scheduler errors. Lifecycle Guarantees Calling Del or Stop prevents delayed or future invocations, including tasks waiting on StartAfter .","default_branch":null,"files":null,"tree":[],"storefront":"/r/madflojo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/madflojo/tasks/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."}