JavaScript/TypeScript執行環境Deno開始內建訊息系統Deno Queues,能夠非同步處理長時間執行的任務,其建立在持久儲存Deno KV之上,可以在本地端和Deno主機上運作,以安排未來的工作或是處理網路回呼。

過去開發者要使用佇列處理系統,需要仰賴第三方佇列,或是訊息中介軟體,甚至是手動實作,而現在官方直接對Deno生態系,提供一個內建且簡單易用的佇列系統,讓非同步任務處理和排程變簡單,也更好地與Deno應用整合,也就是說,開發者能以更少配置和額外的相依項目,在Deno應用中實現佇列功能。

Deno Queues提供兩個API,其一enqueue()能夠將訊息推送到佇列,確保立即或是未來特定時間點訊息傳送,第二listenQueue()則是能夠處理佇列新訊息的處理程式。官方進一步解釋,Deno Queues以Deno KV為基礎建立,而Deno KV本身是一個持久儲存,在本地執行的時候使用SQLite資料庫,但是當在Deno Deploy上運作時,則是使用FoundationDB,以確保最大可用性和吞吐量。

由於Deno Queues保證至少一次訊息交付,而這能夠與Deno KV原子交易概念相結合,可用於建立強大的工作流程,像是用戶可以將訊息當作KV交易的一部分,新增到佇列中。

Deno Queues的使用情境包括預定電子郵件通知,像是當終端用戶完成註冊,便可以把歡迎郵件發送任務放到佇列中,在特定時間點發送。

運用Deno Queues也能夠更可靠地處理Webhook,透過將Webhook內容放入到Deno Queues中,開發者便可以確保非同步並可靠處理Webhook。Deno Queues會自動接收來自Webhook的資訊,並且非同步地執行,如此便不會影響主應用程式的運作,在應用大量Webhook觸發事件時,還能確保應用程式高效能運作。

熱門新聞

Advertisement