0.0.16 • Published 3 days ago
kiribi v0.0.16
🎇 Kirini
A simple job management library consisting of the Cloudflare stack.
See documentation at kiribi.pages.dev.
Getting Started
npm install kiribi
$ npx wrangler d1 create kiribi-db
$ npx wrangler queues create kiribi-queue
// src/index.ts
import { Kiribi } from 'kiribi'
import { client } from 'kiribi/client'
import { rest } from 'kiribi/rest'
export default class extends Kiribi {
client = client
rest = rest
}
import { KiribiPerformer } from 'kiribi/performer'
export class MyPerformer extends KiribiPerformer {
async perform(payload) {
console.log('preform', payload)
}
}
# wrangler.toml
name = "my-kiribi"
compatibility_date = "2024-04-03"
main = "src/index.ts"
[[d1_databases]]
binding = "KIRIBI_DB"
database_name = "kiribi-db"
database_id = "xxxxxxxxxxxxx"
migrations_dir = './node_modules/kiribi/migrations'
[[queues.producers]]
binding = "KIRIBI_QUEUE"
queue = "kiribi-queue"
[[queues.consumers]]
queue = "kiribi-queue"
max_retries = 5
[[services]]
binding = "KIRIBI"
service = "my-kiribi"
[site]
bucket = "./node_modules/kiribi/client"
[[services]]
binding = "MY_JOB"
service = "my-kiribi"
entrypoint = "MyPerformer"
npx wrangler d1 migrations apply kiribi-db --remote
npx wrangler deploy
Usage
# wrangler.toml
name = "enqueuer"
compatibility_date = "2024-04-03"
main = "src/index.ts"
[[services]]
binding = "KIRIBI"
service = "my-kiribi"
// src/index.ts
import { Kiribi } from 'kiribi'
interface Env {
KIRIBI: Service<Kiribi>
}
export default {
async fetch(req: Request, env: Env, ctx: ExecutionContext) {
await env.KIRIBI.enqueue('MY_JOB', { key: 'value' }, { maxRetries: 5 })
return new Response('OK')
}
}
Development
See development.md.
License
See LICENSE.
0.0.14
3 days ago
0.0.15
3 days ago
0.0.16
3 days ago
0.0.13
7 days ago
0.0.11
15 days ago
0.0.12
15 days ago
0.0.10
18 days ago
0.0.9
18 days ago
0.0.8
19 days ago
0.0.7
20 days ago
0.0.6
21 days ago
0.0.5
22 days ago
0.0.4
22 days ago
0.0.3
26 days ago
0.0.1
26 days ago
0.0.0-beta-0003
27 days ago
0.0.0
26 days ago
0.0.2
26 days ago
0.0.0-beta-0005
26 days ago
0.0.0-beta-0004
27 days ago
0.0.0-beta-0002
27 days ago
0.0.0-beta-0001
27 days ago