cloudfoundry-community / cloudfoundry-community/cf-python-client
Graceful continuation on NOT_FOUND
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 55
- フォーク
- 54
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Hi - We are using cf-python-client as part of a task which downloads each app-blob in turn. As we have tens of thousands of containers, this job takes 8-10 hours to complete.
The job is theoretically quite straightforward...
for app in cfClient.v3.apps:
space_name=app.space()['name']
org_name=app.space().organization()['name']
...
More often than not, during the running of this task, we'll encounter an error along the lines of...
cloudfoundry_client.errors.InvalidStatusCode: NOT_FOUND = {"errors": [{"detail": "Space not found", "title": "CF-ResourceNotFound", "code": 10010}]}
or
cloudfoundry_client.errors.InvalidStatusCode: NOT_FOUND = {"errors": [{"detail": "App not found", "title": "CF-ResourceNotFound", "code": 10010}]}
Given the number of orgs/spaces/apps we have in service, it is not too surprising that an app or space which was present at the start of the task is no longer around 6-8 hours later.
When we encounter an error like this we have no options but to restart the 8-10 hour task from the beginning again and hope that it manages to make it through without an error.
I was just wondering if there are any options to allow for more graceful continuation when objects are no longer found? This doesn't seem to be something that I can handle with a try: except: - Are there any options to make errors like this non-fatal?
Cheers!!
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
v3.apps の反復処理と、レポートに示されている app.space() および space.organization() の呼び出しから始めて、InvalidStatusCode 応答がどのように処理されるかを追跡します。アプリまたは space に対する NOT_FOUND をスキップしながら長時間実行されるトラバーサルを継続でき、残りのリソースに対する動作が定義されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- api
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 30/100