A small wrapper around arq
Project description
darq
A small wrapper around arq
Quick start
# some_project/darq_app.py
import asyncio
import darq
darq = darq.Darq({'redis_settings': darq.RedisSettings(host='redis')})
@darq.task
async def add_to_42(ctx, a: int) -> int:
return 42 + a
async def main():
# Before adding tasks to queue we should connect darq instance to redis
await darq.connect()
# Celery-like add task to queue:
await add_to_42.delay(a=5)
await darq.disconnect()
if __name__ == '__main__':
asyncio.run(main())
And start worker:
python3 -m darq.cli some_project.darq_app.darq
Worker output:
15:24:42: Starting worker for 1 functions: some_project.darq_app.add_to_42
15:24:42: redis_version=5.0.7 mem_usage=834.87K clients_connected=1 db_keys=2
15:25:08: 0.22s → 1315f27608e9408392bf5d3310bca38c:darq_app.add_to_42(a=5)
15:25:08: 0.00s ← 1315f27608e9408392bf5d3310bca38c:darq_app.add_to_42 ● 47
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
darq-0.0.2.tar.gz
(5.0 kB
view hashes)
Built Distribution
darq-0.0.2-py3-none-any.whl
(7.1 kB
view hashes)