alternatif yang ringan .
huey adalah:
dukungan huey:
from huey import RedisHuey , crontab
huey = RedisHuey ( 'my-app' , host = 'redis.myapp.com' )
@ huey . task ()
def add_numbers ( a , b ):
return a + b
@ huey . task ( retries = 2 , retry_delay = 60 )
def flaky_task ( url ):
# This task might fail, in which case it will be retried up to 2 times
# with a delay of 60s between retries.
return this_might_fail ( url )
@ huey . periodic_task ( crontab ( minute = '0' , hour = '3' ))
def nightly_backup ():
sync_all_data ()
Memanggil fungsi yang dihias dengan task
akan membuat pemanggilan fungsi tersebut antri untuk dieksekusi oleh konsumen. Pegangan hasil khusus segera dikembalikan, yang dapat digunakan untuk mengambil hasil setelah tugas selesai:
>>> from demo import add_numbers
>>> res = add_numbers( 1 , 2 )
>>> res
>>> res()
3
Tugas dapat dijadwalkan untuk dijalankan di masa mendatang:
>>> res = add_numbers.schedule(( 2 , 3 ), delay = 10 ) # Will be run in ~10s.
>>> res( blocking = True ) # Will block until task finishes, in ~10s.
5
Untuk informasi lebih lanjut, lihat panduannya atau lihat kode contohnya.
Jalankan konsumen dengan empat proses pekerja:
$ huey_consumer.py my_app.huey -k process -w 4
Untuk menjalankan konsumen dengan satu thread pekerja (default):
$ huey_consumer.py my_app.huey
Jika sebagian besar beban kerja Anda terikat dengan IO, Anda dapat menjalankan konsumen dengan thread atau greenlets. Karena greenlet sangat ringan, Anda dapat menjalankan beberapa di antaranya secara efisien:
$ huey_consumer.py my_app.huey -k greenlet -w 32
Desain dan rangkaian fitur Huey didasarkan pada kemampuan database Redis. Redis sangat cocok untuk pustaka antrian tugas ringan seperti Huey: mandiri, serbaguna, dan dapat menjadi solusi multiguna untuk tugas aplikasi web lainnya seperti caching, penerbitan acara, analitik, pembatasan kecepatan, dan banyak lagi.
Meskipun Huey dirancang dengan mempertimbangkan Redis, sistem penyimpanannya mengimplementasikan API sederhana dan banyak alat lain yang dapat digunakan selain Redis jika itu pilihan Anda.
Huey hadir dengan dukungan bawaan untuk Redis, Sqlite, dan penyimpanan dalam memori.
Lihat dokumentasi Huey.
Lihat kode sumber dan pelacak masalah di Github.
Huey diberi nama untuk menghormati kucing saya: