raise exceptions.from_grpc_error(exc) from exc google.api_core.exceptions.Unknown: None Stream removed
還沒有人認領這個 Issue。
評估
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 新手友好度
- 18/100
研究方向
未識別出 firebase-admin-python 中的儲存庫檔案、測試或進入點;報告指向使用者的 views.py、FirestoreManager.py 和 Firestore 查詢串流。先使用列出的套件版本重現 idle-then-GET 情況,並檢查 Firestore 串流處理路徑。要視為完成,必須確認存在 SDK 缺陷、完成範圍明確的修正,並加入回歸測試。
由索引模型根據 Issue 內容生成。
描述
I am developing a web project with Django.
I use Firebase's Firestore as my database.
Look at the views.py "def mail(request)" you can see I get data from firestore and render to 'mail.html'
And I go to http://127.0.0.1:8000/resource/mail/ is normal.
But if I do nothing lasts 5 minutes and reorganize this page,
I will get this error on my web.
I think my problem like this https://stackoverflow.com/questions/70446165/firestore-stream-removed-error-after-3-minutes-doing-nothing
,although it is .NET and my project is python.
Anyway the website is very normal at first,but after maybe 3~5 minutes it get error.
Unknown at /resource/mail/
None Stream removed
Request Method: GET
Request URL: http://127.0.0.1:8000/resource/mail/
Django Version: 4.0.6
Exception Type: Unknown
Exception Value:
None Stream removed
Exception Location: C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py, line 144, in error_remapped_callable
Python Executable: C:\Users\USER\.conda\envs\Backstage\python.exe
Python Version: 3.9.12
Python Path:
['C:\\Users\\USER\\Desktop\\官網+後台\\Backstage',
'C:\\Users\\USER\\.conda\\envs\\Backstage\\python39.zip',
'C:\\Users\\USER\\.conda\\envs\\Backstage\\DLLs',
'C:\\Users\\USER\\.conda\\envs\\Backstage\\lib',
'C:\\Users\\USER\\.conda\\envs\\Backstage',
'C:\\Users\\USER\\.conda\\envs\\Backstage\\lib\\site-packages']
Server time: Fri, 05 Aug 2022 17:01:33 +0800
Traceback Switch to copy-and-paste view
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py, line 140, in error_remapped_callable
return _StreamingResponseIterator( …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py, line 66, in __init__
self._stored_first_result = next(self._wrapped) …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\grpc\_channel.py, line 426, in __next__
return self._next() …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\grpc\_channel.py, line 826, in _next
raise self …
Local vars
The above exception (<_MultiThreadedRendezvous of RPC that terminated with: status = StatusCode.UNKNOWN details = "Stream removed" debug_error_string = "{"created":"@1659690093.393000000","description":"Error received from peer ipv4:172.217.163.42:443","file":"src/core/lib/surface/call.cc","file_line":967,"grpc_message":"Stream removed","grpc_status":2}" >) was the direct cause of the following exception:
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\django\core\handlers\exception.py, line 55, in inner
response = get_response(request) …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\django\core\handlers\base.py, line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
Local vars
C:\Users\USER\Desktop\官網+後台\Backstage\myproject\views\resource.py, line 36, in mail
for doc in docs: …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\cloud\firestore_v1\query.py, line 273, in stream
response_iterator, expected_prefix = self._get_stream_iterator( …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\cloud\firestore_v1\query.py, line 218, in _get_stream_iterator
response_iterator = self._client._firestore_api.run_query( …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\cloud\firestore_v1\services\firestore\client.py, line 1237, in run_query
response = rpc( …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\gapic_v1\method.py, line 154, in __call__
return wrapped_func(*args, **kwargs) …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\retry.py, line 283, in retry_wrapped_func
return retry_target( …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\retry.py, line 190, in retry_target
return target() …
Local vars
C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py, line 144, in error_remapped_callable
raise exceptions.from_grpc_error(exc) from exc …
Local vars
urls.py:
from django.contrib import admin
from django.urls import path
from myproject.views import *
urlpatterns = [
path('admin/', admin.site.urls),
path('signup/', signup,name='signup'),#註冊
path('login/', login),#登入
path('index/', index),#主頁
path('tradeQuery/', tradequery),#交易狀態查詢
path('resource/mail/', mail),#送禮系統
]
views.py:
def mail(request):
docs=FirestoreManager.getDocsWhereTime("BackendLog-Mail")
for doc in docs:
print(doc.to_dict())
return render(request, 'mail.html', locals())
FirestoreManager.py:
def getDocsWhereTime(*args): # 傳入參數為 collection_name,start_time,end_time
if len(args)>0:
collection_name=args[0]
if len(args)>1:
start_time=args[1]
else:
start_time=datetime(2022,8,1).astimezone(timezone(offset=timedelta(hours=8)))
if len(args)>2:
end_time=args[2]
else:
end_time=datetime.now(tz=timezone(timedelta(hours=8)))
docs = db.collection(collection_name).where("CreateTime", '>=', start_time).where("CreateTime", "<", end_time).stream()
return docs
requirements.txt:
Django==4.0.6
firebase-admin==5.1.0
google-api-core==2.8.2
google-api-python-client==2.55.0
google-auth==2.9.1
google-auth-httplib2==0.1.0
google-cloud-core==2.3.2
google-cloud-firestore==2.6.0
google-cloud-storage==2.4.0
google-crc32c==1.3.0
google-resumable-media==2.3.3
googleapis-common-protos==1.56.4
grpcio==1.47.0
cmd console:
Internal Server Error: /resource/mail/
Traceback (most recent call last):
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py", line 140, in error_remapped_callable
return _StreamingResponseIterator(
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py", line 66, in __init__
self._stored_first_result = next(self._wrapped)
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\grpc\_channel.py", line 426, in __next__
return self._next()
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\grpc\_channel.py", line 826, in _next
raise self
grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.UNKNOWN
details = "Stream removed"
debug_error_string = "{"created":"@1659690093.393000000","description":"Error received from peer ipv4:172.217.163.42:443","file":"src/core/lib/surface/call.cc","file_line":967,"grpc_message":"Stream removed","grpc_status":2}"
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
response = get_response(request)
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\USER\Desktop\官網+後台\Backstage\myproject\views\resource.py", line 36, in mail
for doc in docs:
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\cloud\firestore_v1\query.py", line 273, in stream
response_iterator, expected_prefix = self._get_stream_iterator(
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\cloud\firestore_v1\query.py", line 218, in _get_stream_iterator
response_iterator = self._client._firestore_api.run_query(
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\cloud\firestore_v1\services\firestore\client.py", line 1237, in run_query
response = rpc(
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\gapic_v1\method.py", line 154, in __call__
return wrapped_func(*args, **kwargs)
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\retry.py", line 283, in retry_wrapped_func
return retry_target(
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\retry.py", line 190, in retry_target
return target()
File "C:\Users\USER\.conda\envs\Backstage\lib\site-packages\google\api_core\grpc_helpers.py", line 144, in error_remapped_callable
raise exceptions.from_grpc_error(exc) from exc
google.api_core.exceptions.Unknown: None Stream removed
[05/Aug/2022 17:01:33] "GET /resource/mail/ HTTP/1.1" 500 125693
- 主要語言
- Python
- 星號
- 1.2k
- 分支
- 359
- 平均合併
- 3 天 9 小時
- 30 天內合併 PR
- 3
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
firebase/firebase-admin-python 的其他 Issue
-
api: remoteconfig
難度 2/5 1-3 小時 新手友好度 75/100
firebase/firebase-admin-python#957 · 1 則留言 ·
-
api: database type: feature request
難度 2/5 1-3 小時 新手友好度 62/100
-
難度 4/5 3-5 天 新手友好度 45/100
firebase/firebase-admin-python#978 · 1 則留言 ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) 未關閉api: auth
firebase/firebase-admin-python#949 · 2 則留言 · 1 個 reaction · 已指派 1 人 ·
-
難度 4/5 3-5 天 新手友好度 43/100
firebase/firebase-admin-python#945 · 1 則留言 · 1 個 reaction ·
查看 firebase/firebase-admin-python 的全部 Issue
相似的 Issue
-
bug confirmed issue
難度 2/5 1-3 小時 新手友好度 75/100
open-webui/open-webui#30750 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 75/100
-
enhancement
難度 2/5 1-3 小時 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 70/100
-
good first issue
難度 1/5 1 小時以內 新手友好度 90/100