{"repo":"mikestefanello/backlite","free":true,"listed":false,"github":"https://github.com/mikestefanello/backlite","clone":"git clone https://github.com/mikestefanello/backlite.git","description":"Type-safe, persistent, embedded task queues and background job runner w/ SQLite. Web monitoring UI included.","language":"Go","stars":151,"topics":["go","golang","job-queue","job-scheduler","jobs","queue","queues","scheduled-tasks","sqlite","sqlite3"],"license":"MIT","category":"databases-storage","readme_excerpt":"Backlite: Type-safe, persistent, embedded task queues and background job runner w/ SQLite Table of Contents Introduction Overview Origin Screenshots Status Installation Features Type-safety Persistence with SQLite Optional retention Retry & Backoff Scheduled execution Logging Nested tasks Graceful shutdown Transactions No database polling Driver flexibility Bulk inserts Execution timeout Background worker pool Web UI Panic recovery Usage Client initialization Schema installation Declaring a Task type Queue processor Registering a queue Adding tasks Task status Starting the dispatcher Shutting down the dispatcher Example Roadmap Introduction Overview Backlite provides type-safe, persistent and embedded task queues meant to run within your application as opposed to an external message broker. A task can be of any type and each type declares its own queue along with the configuration for the queue. Tasks are automatically executed in the background via a configurable worker pool. Origin This project started shortly after migrating Pagoda to SQLite from Postgres and Redis. Redis was previously used to handle task queues and I wanted to leverage SQLite instead. Originally, goqite was chosen, which is a great library and one that I took inspiration from, but I had a lot of different ideas for the overall approach and it lacked a number of features that I felt were needed. River, an excellent, similar library built for Postgres, was also a major source of inspiration and ideas. Scre","default_branch":null,"files":null,"tree":[],"storefront":"/r/mikestefanello","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mikestefanello/backlite/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."}