kiribi
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

🎇 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.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.2.10latest
0.0.10true
0.0.0-beta-00050beta

Version History

VersionDownloads (Last 7 Days)Published
0.2.10
0.2.00
0.1.37
0.1.20
0.1.10
0.1.00
0.0.160
0.0.150
0.0.140
0.0.130
0.0.120
0.0.110
0.0.100
0.0.90
0.0.80
0.0.70
0.0.60
0.0.50
0.0.40
0.0.30
0.0.20
0.0.10
0.0.00
0.0.0-beta-00050
0.0.0-beta-00040
0.0.0-beta-00030
0.0.0-beta-00020
0.0.0-beta-00010

Package Sidebar

Install

npm i kiribi

Weekly Downloads

7

Version

0.2.1

License

MIT

Unpacked Size

1.09 MB

Total Files

38

Last publish

Collaborators

  • aiji42