0
Ich habe BotoServerError
in Scrapy beim Hochladen von Bildern auf AWS S3, weil es zufällig ein Server ist. Wie kann ich mit diesen Fehlern umgehen, damit ich die Elementpipeline für eine Weile in den Ruhezustand versetzen und den Upload erneut versuchen kann?Wiederholen Unhandled Fehler in Deferred: in 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
Ich glaube nicht, dass Scrapy S3 Upload-Handler erneut versucht. Ich bin mir nicht sicher, dass es eine andere Lösung gibt als die Migration zu boto3 (es gibt [ein offenes Problem dafür] (https://github.com/scrapy/scrapy/issues/1866)) –
Sie können auch versuchen, 'botocore' zu installieren (Scrapy wird "Botocore" statt "Boto" verwenden, wenn es verfügbar ist). Es scheint, dass Botocore einige Versuche unternimmt (ich kann jedoch nicht viel Detail darüber finden) –
Danke! 'boto3' löst es! –