{"repo":"wakatime/wakaq-ts","free":true,"listed":false,"github":"https://github.com/wakatime/wakaq-ts","clone":"git clone https://github.com/wakatime/wakaq-ts.git","description":"Background task queue for TypeScript backed by Redis, a super minimal Celery","language":"TypeScript","stars":32,"topics":["background-jobs","redis","task-queue","typescript","async","asyncronous-tasks","celery","distributed","job-queue","job-scheduler"],"license":"BSD-3-Clause","category":"databases-storage","readme_excerpt":"WakaQ Background task queue for TypeScript backed by Redis, a super minimal Celery. For the original Python version, see [WakaQ for Python][wakaq python]. Features - TypeScript support for task params - Queue priority - Delayed tasks (run tasks after a duration eta) - Scheduled periodic tasks - [Broadcast][broadcast] a task to all workers - Task [soft][soft timeout] and [hard][hard timeout] timeout limits - Optionally retry tasks on soft timeout - Combat memory leaks with maxMemPercent or maxTasksPerWorker - Super minimal Want more features like rate limiting, task deduplication, etc? Too bad, feature PRs are not accepted. Maximal features belong in your app’s worker tasks. Why WakaQ? Polyglot by design. WakaQ works with TypeScript and [Python][wakaq python], speaking the same Redis queue protocol. Enqueue a task from a Python service and run it on a Node worker, or the reverse. One Redis instance, one set of queues, two languages. No other task queue in the comparison below can do this. Type-safe task params. Your task handler's parameter type is the single source of truth. enqueue() is checked against it at compile time, so sending a wrong-shaped or wrong-typed payload is a TypeScript error in your editor — not a runtime crash on the worker. Most queues type the producer and consumer separately and trust you to keep them in sync; WakaQ-TS ties them together. This is an advantage unique to wakaq-ts — the Python wakaq can't catch these mistakes before runtime. Production-prov","default_branch":null,"files":null,"tree":[],"storefront":"/r/wakatime","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wakatime/wakaq-ts/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."}