driplineorg / driplineorg/dripline-python
Signal handling doesn't work in interactive Python session
- Ngôn ngữ chính
- Python
- Star
- 3
- Fork
- 6
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Currently, to use the scarab-based signal handling you have to create a signal_handler and add the appropriate cancelable. This is fine for executables, e.g. dl-serve. However, it's not workable for an interactive session.
I created a script that uses `core.Interface` to e.g. `get peaches` from the KVS. For network reasons it wasn't able to contact the broker, so it tried multiple times using exponential backoff. I attempted to cancel that with ctrl-c, but it didn't work because the signal hadn't been setup to be caught. I got it to stop by repeating ctrl-c twice, resulting in an unhandled exception and a long traceback.
I'm not sure what the right way to handle this is, at the moment.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu tại core.Interface và so sánh signal_handler cùng thiết lập cancelable của nó với đường dẫn tệp thực thi dl-serve. Tái hiện kịch bản broker retry trong một phiên Python tương tác và xác minh rằng Ctrl-C hủy một cách sạch sẽ mà không có ngoại lệ chưa được xử lý hoặc traceback dài; issue không nêu tên tệp hay test nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- cli
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 30/100