Async state and message handler
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
- #1411 của @Nikhil172913832 — đã đóng, không merge
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- testing-qa
Hướng nghiên cứu
Bắt đầu bằng cách xác định các điểm vào state_handler và message_handler, rồi đọc cách các hàm đồng bộ hiện được gọi. So sánh các yêu cầu của asyncio, trio và curio, bao gồm ContextVar và các ảnh hưởng liên quan đến thread; công việc được xem là hoàn tất khi các handler bất đồng bộ được hỗ trợ hoạt động mà không làm hỏng các handler đồng bộ hiện có và được các bài kiểm thử bao phủ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Have you read the Contributing Guidelines on issues?
- I have read the Contributing Guidelines on issues.
Description
Original suggestion by Val on Slack
To allow the state_handler and message_handler functions to handle asynchronous functions.
Motivation
These two functions are used to interface with code outside of Pact Python to setup/teardown states and generate messages. Especially in the case of the state setup and teardown, a common pattern would be to make a number of calls to (mocked or not) databases or other services to ensure they are in a particular state. These requests can be significantly sped up by running them in parallel, such as with an asyncio.gather call or using a task group.
Have you tried building it?
Not yet, but I will first open this issue and ask for anyone with specific examples to work towards.
While asynchronous function bring a number of advantages, they can also bring some complications. In particular:
- There are a number of underlying runtimes:
asyncio,trio,curio. If possible, it would be ideal to support all of these. - The use of threads has implications for
ContextVar(if used)
Self-service
- I'd be willing to contribute this feature to Pact Python myself.
- Ngôn ngữ chính
- Python
- Star
- 685
- Fork
- 147
- Merge trung bình
- 4 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 14
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pact-foundation/pact-python
-
Add `abi3t` WheelsĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
pact-foundation/pact-python#1603 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Post v3 tracking issueCó thể làm lại được @JP-Ellis đã nhận 375 ngày trước và không có pull request nào đang mở. Đang mởtype:tracking
pact-foundation/pact-python#1272 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
-
area:documentation difficulty:easy type:chore
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
pact-foundation/pact-python#1267 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Create message Pact docsĐang mởarea:documentation difficulty:easy type:chore
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
pact-foundation/pact-python#1266 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
(V3) Verifying a contract with a missing content field is always successful when it should errorCó thể đã có người làm @JP-Ellis đã nhận 374 ngày trước. Đang mởarea:core type:bug
pact-foundation/pact-python#1103 · 5 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của pact-foundation/pact-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
huggingface/sentence-transformers#4186 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
QuantEcon/QuantEcon.py#988 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
fabriziosalmi/certmate#1247 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation good first issue
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 72/100
sujithputta02/Esapay#13 ·