0
在將圖像上傳到AWS S3時,我在Scrapy中得到了BotoServerError
,因爲它正好是服務器故障。如何處理這些錯誤,以便我可以將物品管道設置爲睡眠一段時間,然後再次重新上傳?重試延遲中的未處理錯誤:scrapy
2016-11-17 05:59:55 [twisted] CRITICAL:
Traceback (most recent call last):
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\twisted\python\threadpool.py", line 246, in inContext
result = inContext.theWork()
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\twisted\python\threadpool.py", line 262, in <lambda>
inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\twisted\python\context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\twisted\python\context.py", line 81, in callWithContext
return func(*args,**kw)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\s3\key.py", line 1426, in set_contents_from_string
encrypt_key=encrypt_key)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\s3\key.py", line 1293, in set_contents_from_file
chunked_transfer=chunked_transfer, size=size)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\s3\key.py", line 750, in send_file
chunked_transfer=chunked_transfer, size=size)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\s3\key.py", line 951, in _send_file_internal
query_args=query_args
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\s3\connection.py", line 668, in make_request
retry_handler=retry_handler
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\connection.py", line 1071, in make_request
retry_handler=retry_handler)
File "D:\Kerja\HIT\PYTHON~1\SMARTE~1\SMARTE~1\lib\site-packages\boto\connection.py", line 1028, in _mexe
raise BotoServerError(response.status, response.reason, body)
BotoServerError: BotoServerError: 503 Service Unavailable
我不認爲Scrapy的S3上傳處理程序會重試。我不確定除了遷移到boto3之外,還有一個簡單的修復方法(這是一個[未解決的問題])(https://github.com/scrapy/scrapy/issues/1866)) –
您也可以嘗試安裝'botocore' (如果可用,scrapy將使用'botocore'而不是'boto')。看來botocore做了一些重試(雖然我找不到更多的細節) –
謝謝! 'boto3'解決了它! –