Re: Генерация прайсов для клиентов на лету
От: Mikhail Polykovsky Россия http://glader.ru
Дата: 08.03.09 05:30
Оценка: 5 (3)
Здравствуйте, MozgC, Вы писали:

MC>Здравствуйте,


MC>На сайте есть очень большая БД по ценам на продаваемый компанией товар (порядка нескольких миллионов позиций). Прайс в БД постоянно обновляется. Клиенты могут смотреть цены на интересующий их товар. Но клиентам хочется иметь возможность скачать часть прайса (какую-либо категорию) одним файлом, т.е. например скачать прайс на все виды втулок (100000 позиций к примеру). Такой прайс надо будет генерировать на лету из БД (у каждого клиента свои скидки и прайс в БД обновляется постоянно). Но ограничение на время выполнения скрипта (обычно на хостингах — 30 секунд) не позволяет успеть сгенерировать прайс (а если бы не было ограничения по времени, то возможно бы сработало ограничение на выделяемую скрипту память?) в формате Excel.


MC>Как можно все-таки решить данную задачу? Т.е. дать клиентам возможность скачивать актуальные прайс-листы с уже установленными для клиента ценами.


MC>Заранее спасибо.


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

Возвращать файл пользователю можно любым асинхронным методом:
— аяксовый запрос на постановку файла в очередь, время от времени аяксовая проверка очереди
— любой запрос на постановку в очередь, отправка ссылки на скачивание готового файла пользователю на почту (или отправка готового файла)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.