0.0.16 • Published 3 days ago

kiribi v0.0.16

Weekly downloads
-
License
MIT
Repository
-
Last release
3 days ago

🎇 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