Vercel Chat SDKがメッセージ並行処理とSlack予約送信に対応
並行処理の4戦略
concurrencyオプション新設
drop・queue・debounce・concurrentの4方式
キューサイズやTTLを柔軟に設定可能
未完了メッセージの衝突制御を実現
詳細を読む
Vercelが提供するオープンソースのChat SDKに、メッセージの並行処理制御機能とSlack予約送信機能が追加されました。チャットボット開発における主要な課題であった、メッセージ競合とスケジュール配信の両方に対応します。
並行処理機能では、Chatクラスに新たなconcurrencyオプションが導入されました。前のメッセージ処理が完了する前に新しいメッセージが到着した場合の挙動を、開発者が細かく制御できるようになります。
利用可能な戦略は4種類です。デフォルトのdropは新着メッセージを破棄し、queueはハンドラ完了後に最新メッセージを処理します。debounceは会話の一時停止を待って最終メッセージのみを処理し、concurrentはすべてのメッセージを即座に並行処理します。
キューの最大サイズやエントリのTTL、キュー満杯時の動作などもカスタマイズ可能です。大量のメッセージが同時に送信されるシナリオでも、アプリケーションの安定性を維持できる設計となっています。
Slack連携ではthread.schedule()メソッドが追加され、指定した日時にメッセージを自動送信できます。リマインダーや定期通知などのユースケースに対応し、送信前であればキャンセルも可能です。