@aljo222
В процессе обучения веб-разработке

Как удалять файлы с сервера по условию, что они не используются в текущий момент?

Здравствуйте!

Такая ситуация - есть сайт event-агентства, на котором можно смотреть видео с различных мероприятий.
Агентство довольно крупное, монополист в своем городе и видео копятся очень быстро. Сейчас они решили размещать все видео на своем Яндекс.Диске, на хостинге 50Гб не хватает, больше покупать не хотят.
Файлы на диске хранятся в архивах.
Недавно я написал такой простой функционал: при открытии страницы какого-то события, PHP-скрипт проверят есть ли файлы события в специальной папке на сервере, если нет, то с помощью API Яндекс.Диска скачивается и распаковывается архив на сервере, формируется плейлист из видео данного события и юзер может их смотреть. Если файлы есть, то просто формируется плейлист.
В среднем видео одного события весят по 1.5-2Гб, не меньше. Т.е. если одновременно заходят посмотреть порядка 20 человек, то место заканчивается.
Я написал еще один скрипт и добавил его в cron, который запускается раз в сутки и удаляет файлы старше 12 часов. Решение так себе.

Подскажите пожалуйста как можно улучшить этот момент. Чтобы, условно, если страница события была закрыта и на ней нет больше активных юзеров, то удалять скачанные файлы. Думал ковырять в сторону WebSocket, но пока не было опыта с данной технологией.

Заранее спасибо за подсказки.
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
В таких условиях надо делать вытесняющий кэш.
Если при запросе нового файла выясняется, что для него нет места, то удаляется самый старый файл.

Хотя конечно непонятно, как это всё поможет в ситуации, когда заходят посмотреть сразу 20 разных событий.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы