diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-10-05 07:04:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-05 07:04:29 +0100 |
| commit | 74a1f7b6b600d4cb53352dde7def374c3125721a (patch) | |
| tree | 70b79ebae61456f6ff2cb02a37351fa9817fb342 /packages/shared-server | |
| parent | 4a580d713621f99abb8baabc9b847ce039d44842 (diff) | |
| download | karakeep-74a1f7b6b600d4cb53352dde7def374c3125721a.tar.zst | |
feat: Restate-based queue plugin (#2011)
* WIP: Initial restate integration
* add retry
* add delay + idempotency
* implement concurrency limits
* add admin stats
* add todos
* add id provider
* handle onComplete failures
* add tests
* add pub key and fix logging
* add priorities
* fail call after retries
* more fixes
* fix retries left
* some refactoring
* fix package.json
* upgrade sdk
* some test cleanups
Diffstat (limited to 'packages/shared-server')
| -rw-r--r-- | packages/shared-server/package.json | 1 | ||||
| -rw-r--r-- | packages/shared-server/src/plugins.ts | 1 | ||||
| -rw-r--r-- | packages/shared-server/src/queues.ts | 8 |
3 files changed, 8 insertions, 2 deletions
diff --git a/packages/shared-server/package.json b/packages/shared-server/package.json index 9c1b52a8..d18eb4a0 100644 --- a/packages/shared-server/package.json +++ b/packages/shared-server/package.json @@ -7,6 +7,7 @@ "dependencies": { "@karakeep/db": "workspace:^0.1.0", "@karakeep/plugins-queue-liteque": "workspace:^0.1.0", + "@karakeep/plugins-queue-restate": "workspace:^0.1.0", "@karakeep/plugins-search-meilisearch": "workspace:^0.1.0", "@karakeep/shared": "workspace:^0.1.0" }, diff --git a/packages/shared-server/src/plugins.ts b/packages/shared-server/src/plugins.ts index b6a88462..de08b9b0 100644 --- a/packages/shared-server/src/plugins.ts +++ b/packages/shared-server/src/plugins.ts @@ -8,6 +8,7 @@ export async function loadAllPlugins() { // Load plugins here. Order of plugin loading matter. // Queue provider(s) await import("@karakeep/plugins-queue-liteque"); + await import("@karakeep/plugins-queue-restate"); await import("@karakeep/plugins-search-meilisearch"); PluginManager.logAllPlugins(); pluginsLoaded = true; diff --git a/packages/shared-server/src/queues.ts b/packages/shared-server/src/queues.ts index 1c4e0452..c9f8276d 100644 --- a/packages/shared-server/src/queues.ts +++ b/packages/shared-server/src/queues.ts @@ -8,8 +8,12 @@ import { loadAllPlugins } from "."; await loadAllPlugins(); const QUEUE_CLIENT = await getQueueClient(); -export function runQueueDBMigrations() { - QUEUE_CLIENT.init(); +export async function prepareQueue() { + await QUEUE_CLIENT.prepare(); +} + +export async function startQueue() { + await QUEUE_CLIENT.start(); } // Link Crawler |
