А в Питоне есть, куда написать код, который выполнится при удалении объекта (метод “__del__“). В моем нынешнем проекте — “Неком Музыкальном Сервисе” (о котором я еще, наверное, не раз напишу, уж не обссудьте) — есть одно интересное требование, назвающееся “контроллируемое скачивание”, которое означает, что:
для отдельных категорий пользователей скорость скачивания должна быть ограничена
система должна быть в курсе, когда скачивание успешно завершено
Это одна из тех вещей, которая отличает этот сервис от просто графического интерфейса к FTP. Я реализовал ее где-то пару недель назад, но в процессе пережил такие эмоции, что просто не могу этим не поделиться.
Пост этот — подробная история реализации фичи, нагруженная дремучими подробностями и программными частностями, и в качестве легкого чтива никак не рекомендуется :-).
Задачка
Для начала надо подробней объяснить, зачем вообще это нужно.
Ограничение скорости скачивания нужно отнюдь не для насаждения классовой вражды. Просто, если дать всем возможность скачивать на максимуме своего канала, то в наш век распространенного ADSL’а это означает, что сервер просто ляжет, и плохо будет всем.
Также системе надо знать, что альбом скачан, чтобы записать его в историю, удалить из корзины, сигнализировать, что его можно удалять с сервера, а также показывать всякую интересную статистику в духе “пользователи, скачавшие этот альбом, также скачивают такие-то”.
Категория:
Новости
|
Просмотров:
498
|
Добавил:
coment
|
Дата:
21.02.2010
|