Мои пауки используют файловую линию для сохранения файлов в корзину S3.Я переопределил filespipeline.file_path
, чтобы дать каждому блобу S3 хороший ключ, и в моем классе Item есть поле с именем binary_size
, в которое я хотел бы вставить размер загруженного / выгруженного файла.
Для этого я переопределил filespipeline.item_completed
, в котором я ищу элемент в корзине S3 (получая тот же ключ элемента, как определено в file_path
), получаю его размер, затем устанавливаю его и возвращаю элемент.Это кажется очень простым!
Однако, похоже, что во время выполнения item_completed
корзина S3 еще не содержит элемент.Мой код завершается ошибкой с простой трассировкой «Ключ не существует».
Есть ли место, где я могу подключиться, чтобы изменить элемент в какое-то время, когда я могу быть уверен, что большой объект будет существовать в S3?
Будем благодарны за любые подсказки, даже слабые или лишние!Все это работает так хорошо, что я не хочу делать S3 вручную.