{"repo":"onury/tasktimer","free":true,"listed":false,"github":"https://github.com/onury/tasktimer","clone":"git clone https://github.com/onury/tasktimer.git","description":"An accurate timer utility for running periodic tasks on the given interval ticks or dates.","language":"TypeScript","stars":131,"topics":["cron","esm","interval","nodejs","periodic-tasks","scheduler","setinterval","task-scheduler","timer","typescript"],"license":"MIT","category":"workflow-automation","readme_excerpt":"This module is ESM 🔆. Please read this . An accurate timer utility for running periodic tasks on the given interval ticks or dates — with a single timer instance, zero runtime dependencies, and full TypeScript types. 📖 &nbsp; Full documentation & guides: &nbsp; onury.io/tasktimer [!TIP] v4 is a 2026 modernization — ESM-only, zero-dependency, browser-safe, drift-free precision — that also squashed some long-standing bugs and made API improvements , plus new sugar: leading-edge runs ( lead ), typed task data , typed events, coded errors ( TaskTimerError ), and silentErrors . &nbsp; What's changed → Why TaskTimer? Because of the single-threaded, asynchronous [nature of JavaScript][how-timers-work], each execution takes a slice of CPU time, and the wait before the next one varies with the load. This creates a cumulative latency in naive timers that gradually drifts away from the intended schedule. TaskTimer corrects this drift on every tick, and it lets you run many tasks — each on its own interval, run limit, or date window — from a single timer. Features - Precision (on by default): the delay between ticks is auto-adjusted when it drifts due to task/CPU load or [clock drift][clock-drift]. It uses the monotonic [ performance.now() ][perf-now] (drift-free, in Node and the browser) and auto-recovers via immediate ticks after a blocking task. - Run or schedule multiple tasks on a single timer instance. - Sync or async tasks — return a Promise or use the done() callback. - Limit r","default_branch":null,"files":null,"tree":[],"storefront":"/r/onury","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/onury/tasktimer/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."}