Асинхронная подгрузка файлов

programmer_2006

Новичок
Асинхронная подгрузка файлов

Есть решения позволяющие с помощью аякса грузить файлы на сервер, у меня стоит похожая задача, но с изюминкой.
Пользователь может выбрать n-е кол-во песен и купить их. Т.е. пользователь выбрал 10 песен, жмёт кнопку купить с его счета снимаются деньги и затем он может перейти на страницу downloads где в течении 48 часов может скачать по одной выбранные песни. Каждая песня весит в среднем 15 метров в итоге где то 150 митро + пользователь может покупать целые альбомы. Песни хранятся на др. сервере мне необходимо загрузить асинхронно все песни сначала себе на сервер (что бы клиент не ждал долго), а потом уже выдать пользователю ссылки. НО пользователь может не сразу пойти и скачивать песни, может перейти на др. страницы или вообще закрыть браузер. Необходимо, что бы при любых условиях песни докачались, получается как бы повесить задачу в трэй (если за пример взять винду), мне кажется можно решить мою задачу с помощью многопоточности и вешанья скрипта в память но как и правильно ли мыслю... В гугле нечего путевого не на рыл.
Надеюсь мне подскажут как можно решить эту задачу.Хочется,что бы клиент чувствовал себя комфортно на сайте.
 

cDLEON

Онанист РНРСlub
Скорее всего кое кто пытается сэкономить место =))
 

Gas

может по одной?
хе-хе, ну воровство таких объёмов в realtime - как-то слишком смело :)

programmer_2006
не нужно гонять такие объёмы между своими серверами, что бы ты не придумал - это плохой вариант.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я бы сделал транзит через web-proxy
если трафик не считается - пофиг
правда, это не за 5 минут делается, чтобы с докачкой
 

programmer_2006

Новичок
Re: Re: Асинхронная подгрузка файлов

Автор оригинала: jonjonson
Задача о подмене ссылки загружаемого файла постепенно проясняется :)
Ага, вариан wep-poxy подходит, но нашь клиент хочет, что бы можно было из админки задавать вариатн загрузки файлов, то ли они сначала закачиваются на нашь сервак толи мы играем роль прокси. Желание клиента закон и задачу как то надо решить.

-~{}~ 14.10.08 10:49:

Автор оригинала: cDLEON
Откройте для себя такую вещь как cron
Как это можно сделать из пхп скрипта?

-~{}~ 14.10.08 10:53:

Автор оригинала: Gas
хе-хе, ну воровство таких объёмов в realtime - как-то слишком смело :)

programmer_2006
не нужно гонять такие объёмы между своими серверами, что бы ты не придумал - это плохой вариант.
Вот если человек сам ворует пользуется не лицензионным софтом, смотрит и слушает не лицензионную музыку и читате книги в эл формате, то считает, что и другие воруют. Что бы вы знали воровство контента присекается очень быстро, вам это любой вэбмастер скажет.
Нет воровства контента есть наша партнерская система. Клиент поставил задачу ее надо решить. Вроде на этом форуме тусуются гуру пхп, или я ошибаюсь? Потому что хорошие программеры любят интересные задачи, а это явно не ответ или совет.
programmer_2006 не нужно гонять такие объёмы между своими серверами, что бы ты не придумал - это плохой вариант.
А на сервер сохранять надо по одной важной причине: Это хочет клиент.
 

Ravanger

Новичок
Напиши демон, который тихонечко будет все это дело копировать. Если на вскидку то
exec('path_to_php -f path_to_uploader_script >/dev/null 2>/dev/null &');
 

programmer_2006

Новичок
Автор оригинала: Ravanger
Напиши демон, который тихонечко будет все это дело копировать. Если на вскидку то
exec('path_to_php -f path_to_uploader_script >/dev/null 2>/dev/null &');
Спасибо, это уже ближе к делу, а где можно почитать про эти демоны и как там, что писать надо? Это походу типа пхп под консоль?
 

Gas

может по одной?
programmer_2006
я как раз и выразил сомнение что твоя задача из области воровства.

Это хочет клиент
Просто решение - копировать 100MB с одного сервера на другой при каждом чихе, а потом скопированное отдавать клиенту, очень похоже на решение задачи "посчёт количества строк в базе" методом select * from, а потом в php считать полученные данны. Часто клиенту нужно объяснять что его желания не практичны, а то и экономически не выгодные.
 

programmer_2006

Новичок
Есть идея вообще за определенное время скопировать весь контент и потом не парится т.е. 10 Тэрабайт :), да и клиент сказал, что сервера для него не проблема. Но клиент хочет,что бы работало несколько вариантов
1. Скачать все на сервак и не парится
2. Мы как прокси
3. Мы закачиваем к себе файлы на 48 часов, отдаем их потом клиенту и через 48 часов удаляем. Вот эту задачку и пытаюсь красиво решить, что бы конечный пользователь не ждал пока файл копирнется к нам а уже потом отдастся ему (времени то на это в два раза больше пойдет). Вот и хочетс как то тихо и не заметно для пользователя пока он,что то делает залить файлы.

Ну надеюсь демоны и т.д. помогут решить проблему.
 

Ravanger

Новичок
Я вот как не пытался, не могу понять, если я купил пару альбомов, по твоей теории они начинают копироваться с другого сервака на твой, альбом обычно весит примерно 70-120 метров, вот собственно вопрос, если я не хочу "что-то делать" на сайте пока вся эта куча байтов будет гулять по сервакам, а хочу кликнуть купить и сразу скачать? что тогда?
 

programmer_2006

Новичок
Автор оригинала: Ravanger
Я вот как не пытался, не могу понять, если я купил пару альбомов, по твоей теории они начинают копироваться с другого сервака на твой, альбом обычно весит примерно 70-120 метров, вот собственно вопрос, если я не хочу "что-то делать" на сайте пока вся эта куча байтов будет гулять по сервакам, а хочу кликнуть купить и сразу скачать? что тогда?
Такой вариант не предусмотрен :)
 

jonjonson

Охренеть
programmer_2006, странный сказочный вариант для бизнес модели. Вам позволяют не ограничено владеть платным контентом (скачать на себя и бесконтрольно раздавать, так как после скачивания на ваш сайт больше никакого надзора). Причём популярным (что чаще скачевается, то у вас и скапливается).

Либо партнёры идиоты. Либо всё озвученное вами выше не так, и вы озвучиваете технически "не понять какое" решение.
 

MiksIr

miksir@home:~$
nginx - проксирование+запись файла на диск+скрипт для чистки кеша на основе mtime/atime.
Все. И клиент получает сразу файл, и файл сохраняется в кеше и может дальше отдаваться оттуда с докачкой и т.д. и т.п.
 

programmer_2006

Новичок
Автор оригинала: MiksIr
nginx - проксирование+запись файла на диск+скрипт для чистки кеша на основе mtime/atime.
Все. И клиент получает сразу файл, и файл сохраняется в кеше и может дальше отдаваться оттуда с докачкой и т.д. и т.п.
Спасибо, отличное решение.

-~{}~ 14.10.08 19:05:

Автор оригинала: jonjonson
programmer_2006, странный сказочный вариант для бизнес модели. Вам позволяют не ограничено владеть платным контентом (скачать на себя и бесконтрольно раздавать, так как после скачивания на ваш сайт больше никакого надзора). Причём популярным (что чаще скачевается, то у вас и скапливается).

Либо партнёры идиоты. Либо всё озвученное вами выше не так, и вы озвучиваете технически "не понять какое" решение.
Думаю нашь клиент будет,что то отстегивать владельцам ресурса контента. В ихние дела я не лезу.
 
Сверху