Listener to services should be on a separate thread and resilient by default
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- authentication, backend, distributed-systems, infrastructure
Hướng nghiên cứu
Bắt đầu với đường dẫn khởi động của ứng dụng Django được tạo và phần khởi tạo auth-service và event-listener được đề cập trong issue. So sánh cách tiếp cận pod/container riêng biệt với việc khởi tạo nền có khả năng chống lỗi, sau đó xác minh rằng ứng dụng hướng đến người dùng khởi động mà không cần Kafka hoặc các tài khoản phải hoàn toàn khả dụng, và rằng việc khởi tạo thất bại sẽ được thử lại mà không gây ra vòng lặp crash.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Generated applications for django have a default behaviour to sync users which requires kafka and accounts to be fully operative at startup. If they're not fully operative, pods go on a crashloop.
This is not ideal because the user facing part of the application does not necessarily requires user login functionality.
Ideally we should set this kind of listeners on a separate pod/container.
A quicker proposal is the following:
if os.environ.get('KUBERNETES_SERVICE_HOST', None):
# init the auth service when running in/for k8s
import threading
from cloudharness_django.services import get_auth_service, init_services
from cloudharness import log
import time
def start_auth_service():
try:
init_services()
except:
log.exception("Error initializing services. Retrying in 5 seconds...")
time.sleep(5)
start_auth_service()
threading.Thread(target=start_auth_service).start()
# start the kafka event listener when running in/for k8s
def start_event_listener():
try:
import cloudharness_django.services.events
log.info("User sync events listener started")
except:
log.exception("Error initializing event queue. Retrying in 5 seconds...")
time.sleep(5)
start_event_listener()
threading.Thread(target=start_event_listener).start()
- Ngôn ngữ chính
- Python
- Star
- 19
- Fork
- 5
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không 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 MetaCell/cloud-harness
-
new feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 28/100
MetaCell/cloud-harness#810 · 1 bình luận ·
-
When using a custom image for on_exit_notify of a workflow queue and payload should not be mandatoryĐang mởgood first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 45/100
MetaCell/cloud-harness#801 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
MetaCell/cloud-harness#781 · 1 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 32/100
MetaCell/cloud-harness#709 ·
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
MetaCell/cloud-harness#706 · 1 bình luận ·
Tất cả issue của MetaCell/cloud-harness
Issue tương tự
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
selimfirat/pysad#379 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
open-webui/open-webui#32805 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
fix: [bug description] HTML CVE metric table shows only the last CVE for each productCó thể đã có người làm @Chris-wh233 đã nhận hôm nay. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
ossf/cve-bin-tool#5976 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
gke-labs/kube-agents#3615 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
deferred
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày