Unverified Commit 5b5b5a7b authored by Hong Minhee's avatar Hong Minhee
Browse files

Add enqueueMany() method to RedisMessageQueue



Implements the enqueueMany method interface from Fedify 1.5.0 for more efficient
bulk message insertion using Redis transactions.

Co-Authored-By: default avatarClaude <noreply@anthropic.com>
parent a34d3883
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -19,9 +19,9 @@ jobs:
        - 6379:6379
    steps:
    - uses: actions/checkout@v4
    - uses: denoland/setup-deno@v1
    - uses: denoland/setup-deno@v2
      with:
        deno-version: v1.x
        deno-version: v2.x
    - uses: actions/setup-node@v4
      with:
        node-version: lts/*
@@ -47,9 +47,9 @@ jobs:
      id-token: write
    steps:
    - uses: actions/checkout@v4
    - uses: denoland/setup-deno@v1
    - uses: denoland/setup-deno@v2
      with:
        deno-version: v1.x
        deno-version: v2.x
    - uses: actions/setup-node@v4
      with:
        node-version: lts/*
+3 −0
Original line number Diff line number Diff line
@@ -66,6 +66,9 @@ Changelog

To be released.

 -  Added `RedisMessageQueue.enqueueMany()` method for efficiently enqueueing
    multiple messages in a single transaction.

### Version 0.3.0

Released on October 4, 2024.
+5 −2
Original line number Diff line number Diff line
@@ -10,8 +10,8 @@
  },
  "imports": {
    "@deno/dnt": "jsr:@deno/dnt@^0.41.3",
    "@fedify/fedify": "jsr:@fedify/fedify@^1.0.0",
    "@logtape/logtape": "jsr:@logtape/logtape@^0.6.3",
    "@fedify/fedify": "jsr:@fedify/fedify@1.5.0-dev.732+7b169275",
    "@logtape/logtape": "jsr:@logtape/logtape@^0.9.0",
    "@std/assert": "jsr:@std/assert@^0.226.0",
    "@std/async": "jsr:@std/async@^0.224.2",
    "ioredis": "npm:ioredis@^5.4.1"
@@ -20,6 +20,9 @@
    "temporal"
  ],
  "exclude": [
    ".github",
    ".vscode",
    ".zed",
    "npm"
  ],
  "tasks": {
+458 −472

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ export class RedisKvStore implements KvStore {
      return `${this.#keyPrefix}${suffix}`;
    }
    const suffixBytes = this.#textEncoder.encode(suffix);
    return Buffer.concat([this.#keyPrefix, suffixBytes]);
    return Buffer.concat([new Uint8Array(this.#keyPrefix), suffixBytes]);
  }

  async get<T = unknown>(key: KvKey): Promise<T | undefined> {
Loading