Уважаемые специалисты!
Нужна помощь в вопросе, куда начинать копать.
Задача следующая, необходимо в определенное время запустить скрипт на php (его можно разбить на несколько), который выкачивает прайсы в xml, обновляет базу SQl и генерирует прайс с учетом новых данных.
Время выполнения задачи примерно 4 часа.
Как вариант использовать cron для запуска, но у него ограничение по времени. Можно разбить на мелкие итерации, но это не лучший вариант для загрузки сервера.
Что вообще используется в данном случае, чтобы не изобретать велосипед?
Игорь_Vasinsky
11.02.2016 - 15:26
Цитата |
ак вариант использовать cron для запуска, но у него ограничение по времени |
и чё? как это помешает?
Цитата |
но это не лучший вариант для загрузки сервера. |
я налью ведро воды и буду лить на тебя медленно в течении 4х часов.
на следующий день я буду раз в 10 минут плескать в тебя по кружке ледяной воды.
вопрос - в какой ситуации ты будешь доволен меньше?
можно только разделить объёмы, например не более 10 прайсов за раз.
на этапы этот процесс разбивать бессмысленно.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bestxp
11.02.2016 - 15:49
Сделать все параллельно в несколько потоков)
Запустить по крону и через Threads сделать одновременно не связанные задачи ) то есть делать задачи так что бы результаты обоих не зависили друг от друга
Valick
11.02.2016 - 16:07
Цитата (f39 @ 11.02.2016 - 14:17) |
необходимо в определенное время запустить скрипт на php |
покажите скрипт, может как раз в скрипте дело?
за 4 часа можно как говорится до китайской границы добежать...
или у вас реально сотни гигабайт прайсов?
охренеть... глянул тему на софттайме
вы реально делаете на РНР то чем должна заниматься СУРБД????
тогда нет ничего удивительного в 4-х часах
_____________
Стимулятор ~yoomoney - 41001303250491
А в чем сложность? В начале ставите set_time_limit, закачку можно разделить sleep или usleep, чтобы не грузить сервер. Если нужно запускать периодически, ставьте на крон.
Valick
11.02.2016 - 16:15
Цитата (kostr @ 11.02.2016 - 15:09) |
А в чем сложность? |
сложность в том что скрипт достаёт всю БД в РНР, перелопачивает прайсы и заливает обратно в БД, за такое надо голову отрывать не задумываясь
_____________
Стимулятор ~yoomoney - 41001303250491