Consider atomic JSON writes
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 70/100
Hướng nghiên cứu
Tìm đoạn mã ghi các cài đặt của Thing và đọc cách hiện tại nó tuần tự hóa và lưu tệp JSON. Sau đó, kiểm tra các bài kiểm thử hiện có của dự án về tính bền vững của cài đặt và bổ sung kiểm thử cho trường hợp ghi bị gián đoạn hoặc ghi nguyên tử. Công việc được xem là hoàn tất khi thao tác cập nhật cài đặt sử dụng một tệp tạm rồi thay thế tệp cũ, để tệp cài đặt vẫn hợp lệ nếu quá trình ghi bị gián đoạn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
If LabThings is interrupted while writing Thing settings, the file could get corrupted.
To Reproduce
Pull the power during a settings update.
Expected behaviour
It would be nice if the file didn't get corrupted.
Additional context
This should be easy enough to avoid by writing to a temp file, then swapping the temp file with the actual settings file. That reduces to nearly-zero the time during which the file could be broken.
- Ngôn ngữ chính
- Python
- Star
- 10
- Fork
- 3
- Merge trung bình
- 5 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- 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 labthings/labthings-fastapi
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
labthings/labthings-fastapi#405 · 1 bình luận ·
-
Use `Exception.add_note`Đang mởdrop-python-version
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
labthings/labthings-fastapi#354 · 2 bình luận ·
-
Log propagation issueĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
labthings/labthings-fastapi#312 · 1 bình luận ·
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
labthings/labthings-fastapi#407 ·
-
Observable functional propertiesĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
labthings/labthings-fastapi#404 · 2 bình luận ·
Tất cả issue của labthings/labthings-fastapi
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Graphify-Labs/graphify#4860 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
:bug: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
scikit-image/scikit-image#8377 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Ingredient import validation accepts negative nutrient values and NaNCó thể đã có người làm @LukeSekai đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
wger-project/wger#2564 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
apache/ponymail-foal#351 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 4 ngày