米Deno Landは、JavaScript/TypeScriptランタイム「Deno」と組み合わせて使える、メッセージ・キュー「Deno Queues」のベータ版を9月27日(現地時間)に公開した。この機能は2023年5月に公開したキー・バリュー型データストア「Deno KV」を利用して構築したもので、開発者のローカル環境で動作させるときはSQLiteを使用し、Deno Landが提供する分散ホスティング・サービス「Deno Deploy」で動作させるときはFoundationDBを使用する。
Deno Queuesは、Webアプリケーションのうち、即座に実行する必要がない処理を後回しにして非同期で実行可能にするための仕組み。キューにメッセージを入れておいて、後でメッセージを読み出して実行するようなプログラムを簡単に記述できる。Deno LandはDeno Queuesの有効な用途として、受信したWebhooksの処理や、メールの自動送信、SlackやDiscordにメッセージを書き込むボットなどを挙げている。また、Deno Queuesを利用してDeno KVに一貫性のある、不可分なトランザクション処理をさせることも可能になっている。
Deno Queuesでは、キューにメッセージを入れる「enqueue()」と、キューからメッセージを取り出す「listenQueue()」の2種類のAPIを用意する。利用するにはAPIを呼び出すだけで良く、事前の設定などの準備は不要だ。キューに入れたメッセージは少なくとも1回は読み出せるようになっており、読み出しに失敗してlistenQueue() APIが例外を発生させると、ランタイムが再度読み出しを試みる。読み出し失敗の回数が事前に設定した値に達すると読み出し失敗となる。
ホスティング・サービスであるDeno DeployでDeno Queuesを利用するときは、キューにメッセージを入れるときと、キューからメッセージを取り出すときに料金が発生する。ただしこれは、Deno Queuesで発生する料金ではなく、Deno QueuesがDeno KVにデータを読み書きする際の料金という扱いになる。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です