install:
v install koplenov.litequeue
usage
simple usage in queue_test.v file
veb usage:
module main
import veb
import db.sqlite
import litequeue
import time
pub struct Context {
    veb.Context
}
pub struct App {
pub:
    db sqlite.DB
mut:
    queue litequeue.Queue
}
pub fn (app &App) index(mut ctx Context) veb.Result {
    return ctx.text('some index')
}
// http://localhost:8080/add_job
pub fn (mut app App) add_job(mut ctx Context) veb.Result {
    app.queue.add('add job') or { return ctx.text('error! not added') }
    return ctx.text('ok! added')
}
// http://localhost:8080/list_finished
pub fn (mut app App) list_finished(mut ctx Context) veb.Result {
    return ctx.text(app.queue.list_of(.done).str())
}
fn main() {
    db := sqlite.connect('queue.sqlite3') or { panic(err) }
    mut queue := litequeue.new(
        db:      db
        handler: queue_function
    ) or { panic('Failed to create queue: ${err}') }
    mut app := &App{
        db:    db
        queue: queue
    }
    veb.run[App, Context](mut app, 8080)
}
fn queue_function(message litequeue.Message) ! {
    time.sleep(time.second)
    println('handled function message!: ' + message.str())
}
        