2013-06-25 37 views
6

Từ trang thông tin Heroku về việc read-only file systemHeroku thư mục/tmp xóa

"Có hai thư mục có thể ghi:. ./tmp và ./log (dưới gốc ứng dụng của bạn) Nếu bạn muốn thả một tập tin tạm thời trong suốt thời gian yêu cầu, bạn có thể ghi vào tên tệp như # {RAILS_ROOT}/tmp/myfile _ # {Process.pid}. Không có gì đảm bảo rằng tệp này sẽ có trong các yêu cầu tiếp theo (mặc dù có thể), vì vậy điều này không nên được sử dụng cho bất kỳ loại lưu trữ vĩnh viễn nào. "

Có ai biết tần suất tệp bị xóa khỏi thư mục /tmp trong Heroku không?

+0

"không có bảo đảm". ví dụ. bạn không nên cố gắng đánh bạc về thời gian tệp sẽ vẫn ở đó. –

+0

@MarcB Chắc chắn, tôi hiểu điều đó. Tôi chỉ tò mò về thời gian (giây/phút/giờ/ngày?) Có lẽ tôi cần các tập tin 30 giây sau khi chúng được đặt trong thư mục '/ tmp' –

Trả lời

7

heroku không bao giờ xóa tệp một cách rõ ràng khỏi thư mục tmp của bạn.
Tuy nhiên, nó không được chia sẻ giữa các trường hợp của ứng dụng của bạn (dynos của bạn).

Điều này có nghĩa là bạn có thể giả định thư mục tmp được dọn sạch mỗi khi bạn triển khai ứng dụng của mình.
Vì bạn luôn có thể triển khai, bạn cần, vì lợi ích của riêng bạn, để lưu ý ứng dụng của bạn với ý nghĩ đó và không dựa vào thư mục tmp để giữ các tệp dài hơn yêu cầu HTTP của người dùng.

+1

Vì vậy, sẽ không thư mục tmp chèn lấp nếu người dùng giữ những thứ mới trong đó và không bao giờ tái ứng dụng? –

+0

Bạn có 620Gb dữ liệu trong thư mục/tmp tại thời điểm này - http://stackoverflow.com/questions/12099378/harddisk-quota-cedar-stack-heroku/16938926 Vì vậy, bạn nên có thời gian để xem nó đến. Nhưng về cơ bản, vâng. –

+0

vì vậy nơi lưu tệp cần thiết bởi ứng dụng? –