PgQueuer 是一個極簡、高效能的 Python 作業佇列庫,充分利用了 PostgreSQL 的強大功能。PgQueuer 專為簡單和高效而設計,使用 PostgreSQL 的 LISTEN/NOTIFY 輕鬆管理作業佇列。
特徵
- 簡單整合:使用 PostgreSQL 輕鬆與現有 Python 應用程式整合。
- 高效的併發處理:利用 PostgreSQLFOR UPDATE SKIP LOCKED進行可靠且併發的作業處理。
- 實時通知:利用LISTEN並NOTIFY實時更新工作狀態的變化。
安裝
要安裝 PgQueuer,只需使用 pip 安裝以下命令:
pip install PgQueuer
示例用法
以下是在典型場景中使用 PgQueuer 處理傳入資料訊息的方法:
import asyncio |
資料庫配置
PgQueuer 提供了一個命令列介面,可輕鬆管理安裝和解除安裝。確保您已配置環境變數或使用適當的標誌來指定資料庫憑據。
安裝 PgQueuer 資料庫元件:
python -m PgQueuer install
解除安裝 PgQueuer 資料庫元件:
python -m PgQueuer uninstall
CLI 支援多個標誌來自定義連線設定。用於--help檢視所有可用選項。
啟動儀表板的示例命令:
python -m PgQueuer dashboard --interval 10 --tail 25 --table-format grid
監聽
python -m PgQueuer listen
listen命令允許您在指定通道上實時監控 PostgreSQL NOTIFY 訊息。此功能對於除錯和觀察應用程式處理的原始事件流量特別有用。
基準測試摘要
PgQueuer 經過了基本的基準測試,以評估其在不同作業量和併發級別下的效能。
主要觀察:
- 可擴充套件性:併發性越高,效能就越高,證明了該庫能夠有效地管理更大的工作負載。
- 一致性:PgQueuer 在不同的作業數量之間保持一致的吞吐量,確保可靠的效能。
- 最佳效能:觀察到的最高吞吐量為併發級別為 5 時每秒約 5,200 個作業。