Procrastinate:基於PostgreSQL的Python任務佇列
Procrastinate 是一個開源的 Python 3.7+ 分散式任務處理庫,利用 PostgreSQL 來儲存任務定義、管理鎖和排程任務。它可以在同步和非同步程式碼中使用。
換句話說,從你的主程式碼中,你以一種特殊的方式呼叫特定的函式(任務),而不是在現場執行,它們被安排在現在或將來在別處執行。
# mycode.py import procrastinate # Make an app in your code app = procrastinate.App(connector=procrastinate.AiopgConnector()) # Then define tasks @app.task(queue="sums") def sum(a, b): with open("myfile", "w") as f: f.write(str(a + b)) with app.open(): # Launch a job sum.defer(a=3, b=5) # Somewhere in your program, run a worker (actually, it's often a # different program than the one deferring jobs for execution) app.run_worker(queues=["sums"]) |
工作者worker將自動執行這個作業,它將建立一個名為myfile的文字檔案,其中包含3+5(即8)的結果。
點選標題
相關文章
- 基於asyncio和redis的Python分散式任務佇列RedisPython分散式佇列
- Python中任務佇列-芹菜celery的使用Python佇列
- 基於訊息佇列(RabbitMQ)實現延遲任務佇列MQ
- coleifer/huey:python 的一個小任務佇列Python佇列
- Celery任務佇列佇列
- 任務佇列,巨集任務與微任務佇列
- Hatchet:Python中分散式、容錯任務佇列Python分散式佇列
- js定時任務佇列JS佇列
- 簡單易用的任務佇列-beanstalkd佇列Bean
- [筆記] 關於任務佇列在專案中的使用筆記佇列
- (轉)開源的任務佇列服務HTQ佇列
- 事件迴圈與任務佇列事件佇列
- 如何寫一個任務佇列佇列
- javascript事件環微任務和巨集任務佇列原理JavaScript事件佇列
- 看圖理解基於陣列的佇列陣列佇列
- 用 RabbitMQ 的死信佇列來做定時任務MQ佇列
- Laravel5.7 清除 Redis 驅動的佇列任務LaravelRedis佇列
- 詳解JavaScript的任務、微任務、佇列以及程式碼執行順序JavaScript佇列
- 基於Python實現環形佇列高效定時器Python佇列定時器
- Node.js 任務佇列Bull的原始碼淺析Node.js佇列原始碼
- 大量佇列任務總是 MaxAttemptsExceededException,怎麼辦?佇列Exception
- 基於Dynomite的分散式延遲佇列MIT分散式佇列
- 基於Redis的簡易延時佇列Redis佇列
- 基於promise的阻塞式佇列設計Promise佇列
- 本地啟動Flower來監控Dify的Celery任務佇列佇列
- 佇列Queue:任務間的訊息讀寫,安排起來~佇列
- 任務與佇列 iOS之多執行緒GCD(一)佇列iOS執行緒GC
- Laravel 佇列重複執行同一個任務Laravel佇列
- 用supervisor管理laravel常駐任務(佇列等)配置Laravel佇列
- Java幾種執行緒池及任務佇列Java執行緒佇列
- RabbitMQ訊息佇列(三):任務分發機制MQ佇列
- 分散式任務 + 訊息佇列框架 go-queue分散式佇列框架Go
- Python佇列的三種佇列實現方法Python佇列
- 基於 Redis 的方式實現非同步佇列Redis非同步佇列
- 基於 swoole 下 非同步佇列 API非同步佇列API
- 總結:JavaScript非同步、事件迴圈與訊息佇列、微任務與巨集任務JavaScript非同步事件佇列
- 【Python】rq佇列的使用Python佇列
- python佇列QueuePython佇列