Listener to services should be on a separate thread and resilient by default
メンテナーはふだん 6 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
調査の方向性
生成された Django アプリケーションの起動パスと、issue で言及されている auth-service および event-listener の初期化から始めます。個別の pod/container アプローチと、レジリエントなバックグラウンド初期化を比較し、そのうえで、Kafka やアカウントが完全に利用可能でなくてもユーザー向けアプリケーションが起動すること、および初期化に失敗した場合にクラッシュループを発生させずに再試行されることを確認します。
索引モデルが issue の本文から書いたものです。
説明
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()
- 主要言語
- Python
- スター
- 19
- フォーク
- 5
- 平均マージ
- 5日 19時間
- マージ済み PR(30日)
- 4
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
MetaCell/cloud-harness のほかの issue
-
new feature
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
MetaCell/cloud-harness#810 · コメント 1 件 ·
メンテナーはふだん 6 日以内に返信
-
When using a custom image for on_exit_notify of a workflow queue and payload should not be mandatoryオープンgood first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
MetaCell/cloud-harness#801 ·
メンテナーはふだん 6 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
MetaCell/cloud-harness#781 · コメント 1 件 ·
メンテナーはふだん 6 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 32/100
MetaCell/cloud-harness#709 ·
メンテナーはふだん 6 日以内に返信
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
MetaCell/cloud-harness#706 · コメント 1 件 ·
メンテナーはふだん 6 日以内に返信
MetaCell/cloud-harness の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
BasedHardware/omi#20271 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 92/100
openai/openai-cookbook#3153 ·
メンテナーはふだん 1 日以内に返信
-
cvss-severity:high devguard l3montree-cybersecurity/devguard/devguard pkg:golang/github.com/l3montree-dev/devguard risk:low state:open
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
l3montree-dev/devguard#3146 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
open-webui/open-webui#31849 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信