Built a small Go library called pending for a pattern I kept rewriting: in-process deferred tasks keyed by ID.
Comments
kahoonster•1h ago
What it does:
schedule deferred tasks by ID
debounce by rescheduling the same ID
cancel by ID
graceful shutdown with context
concurrency limits with block/drop strategies
zero external dependencies (stdlib only)
This is intentionally not a cron replacement. It’s focused on in-memory deferred actions (timeouts, delayed retries, debounced events, state-based delays).
I’d really appreciate feedback on API shape and concurrency semantics.
kahoonster•1h ago
schedule deferred tasks by ID debounce by rescheduling the same ID cancel by ID graceful shutdown with context concurrency limits with block/drop strategies zero external dependencies (stdlib only) This is intentionally not a cron replacement. It’s focused on in-memory deferred actions (timeouts, delayed retries, debounced events, state-based delays).
I’d really appreciate feedback on API shape and concurrency semantics.