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分散式佇列
- 基於訊息佇列(RabbitMQ)實現延遲任務佇列MQ
- 基於Django與Celery實現非同步佇列任務Django非同步佇列
- Celery任務佇列佇列
- 任務佇列,巨集任務與微任務佇列
- Python中任務佇列-芹菜celery的使用Python佇列
- coleifer/huey:python 的一個小任務佇列Python佇列
- 【Python】django-celery非同步任務佇列PythonDjango非同步佇列
- js定時任務佇列JS佇列
- Hatchet:Python中分散式、容錯任務佇列Python分散式佇列
- 簡單易用的任務佇列-beanstalkd佇列Bean
- (轉)開源的任務佇列服務HTQ佇列
- [筆記] 關於任務佇列在專案中的使用筆記佇列
- Redis實現任務佇列、優先順序佇列Redis佇列
- 事件迴圈與任務佇列事件佇列
- 如何寫一個任務佇列佇列
- javascript事件環微任務和巨集任務佇列原理JavaScript事件佇列
- 一個執行定時任務(Crontab)和任務佇列(Taskqueue)的 Python 小工具佇列Python
- Python多執行緒非同步任務佇列(例項)Python執行緒非同步佇列
- iOS-佇列.執行緒.任務iOS佇列執行緒
- 看圖理解基於陣列的佇列陣列佇列
- OkHttp3原始碼分析[任務佇列]HTTP原始碼佇列
- OkHttp 3.7原始碼分析(三)——任務佇列HTTP原始碼佇列
- 詳解JavaScript的任務、微任務、佇列以及程式碼執行順序JavaScript佇列
- Laravel5.7 清除 Redis 驅動的佇列任務LaravelRedis佇列
- 用 RabbitMQ 的死信佇列來做定時任務MQ佇列
- 大量佇列任務總是 MaxAttemptsExceededException,怎麼辦?佇列Exception
- OkHttp3.7原始碼分析(三)——任務佇列HTTP原始碼佇列
- Redis 分散式鎖與任務佇列實戰Redis分散式佇列
- 基於 HBase 構建可伸縮的分散式事務佇列分散式佇列
- Node.js 任務佇列Bull的原始碼淺析Node.js佇列原始碼
- Python 30 行程式碼實現小型多執行緒任務佇列Python行程執行緒佇列
- 基於promise的阻塞式佇列設計Promise佇列
- 基於Redis的簡易延時佇列Redis佇列
- 基於佇列的鎖:mcs lock簡介佇列
- Laravel 佇列重複執行同一個任務Laravel佇列
- 分散式任務 + 訊息佇列框架 go-queue分散式佇列框架Go
- 任務與佇列 iOS之多執行緒GCD(一)佇列iOS執行緒GC