6

Tôi đang gặp sự cố với AWS Lambda, nơi hình ảnh được định lại kích thước của tôi bị hỏng mỗi vài lần tải lên. Tôi đã viết một tập lệnh kéo từ S3 và thay đổi kích thước thành 3 kích cỡ thành một nhóm khác, chủ yếu là với các luồng phim. Đây là mã:AWS Hình ảnh Lambda bị hỏng

https://github.com/handonam/AWS-Resizer/blob/493ff10c317e7150d1ac040f54065083963a9c67/createThumbnails.js

Bạn có thể xem lớn hơn 512px tập tin upscaled (các thay đổi kích cỡ) cùng với bản gốc (200px)

Resizing to 512px

Và thay đổi kích thước khác để 120px Resizing to 120px

Tiêu thụ lambda của tôi trông hoàn toàn tốt đẹp đối với hầu hết các phần. Nó được thiết lập trên cùng một khu vực với bộ nhớ 768mb và thời gian chờ 20 giây. Các tập lệnh thực thi khoảng 2 giây sử dụng 90/768mb cho hình ảnh nhỏ (rộng 500px) hoặc 14 giây @ 648/768mb trên hình ảnh lớn hơn nhiều như rộng 2000px. Nhưng ngay cả đối với một hình ảnh nhỏ, sự thay đổi kích thước đã chết trên tôi. Nếu tôi từ bỏ các luồng phim và chỉ ghi vào bộ đệm (giống như aws example), thì việc xử lý hình ảnh sẽ kết thúc với một vùng đệm tự chọn và lambda sẽ sử dụng quá nhiều tài nguyên.

Bất kỳ hướng dẫn nào được đánh giá cao!

+0

Trong khi tôi thừa nhận tôi không thành thạo những gì bạn đang làm ở đây, tôi lưu ý rằng tại một thời điểm bạn gọi async.waterfall [.. ... .. function transform (next) .... .. . ... .. .. Xem phần tô sáng màu trong toàn bộ phần đó, tôi không chắc chắn nếu bit này hoạt động như bạn mong đợi. – Uvar

+0

@Uvar bạn có thể giải thích ý của bạn bằng cách tô màu? – Handonam

Trả lời

0

Cơ hội mã của bạn không phải là luồng an toàn là gì? tức là một số đoạn chạy đồng thời của tập lệnh sẽ va chạm? Tệp bị hỏng mà bạn hiển thị có vẻ như có kích thước không chính xác.

+0

Tôi chỉ chạy tập lệnh một lần cho mỗi hình ảnh, trong đó tôi đang tải lên từng hình ảnh một lần. – Handonam

Các vấn đề liên quan