Skip to content

Distributed task redisqueue( đơn giản nhất Python phân bố thức hàm số điều hành dàn giáo )

License

Notifications You must be signed in to change notification settings

abo123456789/leek

Repository files navigation

Supported Versions

Tiếng Trung hồ sơ|English Docs

Nhiệm vụ tuyên bố tiêu phí trung gian kiện

Công năng miêu tả

  • So scrapy càng linh hoạt, so celery càng dễ dàng thượng thủ phân bố thức loài bò sát dàn giáo. Dùng ít nhất số hiệu, dùng đơn giản nhất phương thức, làm nhiều nhất sự tình
  • 1 phút nội có thể thuần thục vận dụng nên dàn giáo bò lấy số liệu, không cần học tập phức tạp hồ sơ. Nhẹ nhàng mở rộng các loại trung gian kiện

Đặc sắc thuyết minh:

Duy trì nhiều trung gian kiện:
Duy trì reids kafka sqlite memory bốn loại trung gian kiện ( đầu đẩy redis, duy trì phê lượng tuyên bố nhiệm vụ, phân bố thức tiêu phí nhanh như tia chớp )

Đồng phát duy trì:
Duy trì process threading gevent ba loại đồng phát tiêu phí hình thức ( nhưng hỗn hợp sử dụng )

Khống tần hạn lưu:
Chính xác khống chế 1 giây vận hành bao nhiêu lần hàm số

Nhiệm vụ đi trọng:
Nếu lặp lại đẩy đưa tiêu phí thành công nhiệm vụ, tự động lọc rớt nên nhiệm vụ

Tiêu phí xác nhận:
Bắt đầu dùng tiêu phí xác nhận, tiêu phí nhiệm vụ đãng cơ tay động ngưng hẳn tình huống, nhiệm vụ sẽ không mất đi

Trọng thí số lần:
Đương hàm số vận hành làm lỗi, sẽ lập tức trọng thí chỉ định số lần, đạt tới lớn nhất thứ trọng thí số người kế nhiệm vụ sẽ tiến vào thư không địa chỉ đội ngũ

Nhiệm vụ quá thời hạn cơ chế:
Nếu giả thiết nào đó nhiệm vụ quá thời hạn thời gian, nhiệm vụ vượt qua giả thiết quá thời hạn thời gian còn chưa tiêu phí, tắc sẽ tự động vứt bỏ nên nhiệm vụ

Thư không địa chỉ đội ngũ nhiệm vụ một lần nữa tiêu phí
Tiến vào thư không địa chỉ đội ngũ nhiệm vụ duy trì tay động trọng nhập đội ngũ một lần nữa tiêu phí

pip trang bị

pip install leek
1. Tuyên bố nhiệm vụ cùng tiêu phí nhiệm vụ
fromleekimportTaskPublisher,TaskConsumer

forzzinrange(1,11):
TaskPublisher(queue_name='test1').pub(a=zz,b=zz)

defprint_msg_dict(a,b):
print(f "t_demo1:{a},{b}")

TaskConsumer(queue_name='test1',consuming_function=print_msg_dict).start()
2. Tuyên bố nhiệm vụ cùng tiêu phí nhiệm vụ ( càng nhiều tham số ví dụ thực tế )
fromleekimportget_consumer

deff(a,b):
print(f "a:{a},b:{b}")
print(f.meta)

consumer=get_consumer('test2',consuming_function=f,process_num=3,ack=True,task_expires=10,batch_id='2021042401')

foriinrange(1,200):
consumer.task_publisher.pub(a=i,b=i)

consumer.start()
3. Tuyên bố nhiệm vụ cùng tiêu phí nhiệm vụ ( trang trí khí phiên bản )
fromleekimporttask_deco

@task_deco('test3')# tiêu phí hàm số thượng tân tăng nhiệm vụ đội ngũ trang trí khí
deff3(a,b):
print(f "t_demo3,a:{a},b:{b}")

# tuyên bố nhiệm vụ
foriinrange(1,51):
f3.pub(a=i,b=i)

# tiêu phí nhiệm vụ
f3.start()

Tiêu phí hàm số tham số tường giải

get_consumer(queue_name='test11', consuming_function=f, process_num=2, threads_num=30, max_retry_times=5, qps=10, task_expires=60, batch_id='test_v1.0')
:param queue_name: Đội ngũ tên
:param consuming_function: Đội ngũ tin tức lấy ra sau chấp hành phương pháp
:param process_num: Khởi động tiến trình số lượng ( cam chịu giá trị:1)
:param threads_num: Khởi động tuyến trình số ( cam chịu giá trị:8)
:param max_retry_times: Sai lầm trọng thí số lần ( cam chịu giá trị:3)
:param qps: Mỗi giây hạn chế tiêu phí nhiệm vụ số lượng ( cam chịu 50)
:param middleware: Tiêu phí trung gian kiện, cam chịu redis duy trì sqlite,kafka, memory
:param customer_type: Người tiêu thụ loại hình string duy trì ('thread','gevent') cam chịu thread
:param fliter_rep: Tiêu phí nhiệm vụ hay không đi trọng bool True: Đi trọng False: Không đi trọng
:param filter_field: Tiêu phí nhiệm vụ đi trọng tự đoạn, đương fliter_rep vì True khi hữu hiệu
:param max_push_size: Mỗi lần phê lượng đẩy đưa nhiệm vụ số lượng cam chịu giá trị 50
:param ack: Hay không yêu cầu xác nhận tiêu phí cam chịu giá trị True
:param task_expires: Nhiệm vụ quá thời hạn thời gian đơn vị / giây
:param batch_id: Phê thứ id
:param re_queue_exception: Yêu cầu trọng nhập đội ngũ dị thường

rediswebThông qua trình duyệt xem xét nhiệm vụ tiêu phí tình huống

avatar

About

Distributed task redisqueue( đơn giản nhất Python phân bố thức hàm số điều hành dàn giáo )

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages