"Тяжелый" скрипт

Автор alapp, 14 февраля 2018, 09:45:01

« назад - далее »

alapp

Вопрос, скорее не по PS, а по PHP...

Есть "тяжелый" скрипт, который работает с таблицами PS и облаком. Могу обрабатывать за 1 раз по 50 записей из таблицы ps_customers.

Есть  идея вызывать его через curl , меняя параметры и двигаясь по таблице с шагом 50, НО.
Сейчас у меня 1000+ записей - это получается 20 процессов, завтра будет 10000 - это будет уже 200 процессов.

Как можно изящно решить эту проблему?

Adik

С прекращением работы скрипта процесс должен уничтожаться. Сервер настройте правильно и проблема решится.

mistral

Можно так
1. Создать флаг, шаг и хранить значение в базе или сессии.
2. В скрипте проверять значение флага.
3. Отрабатывать цикл до N-итераций (шаг), сохранять позицию в переменную флаг.
4. При достижении конца флаг = 0.
5. Запускать по крону

tigran

// Проход за один процесс
$pos = mysql_num_rows( $res);
while($pos) {
    // код
    // ...
    // pos--
    // Время сна между итерациями (зависит от возможностей хостинга)
    sleep(...);
}

mistral

Цитата: tigran от 14 февраля 2018, 12:09:38
// Проход за один процесс
$pos = mysql_num_rows( $res);
while($pos) {
    // код
    // ...
    // pos--
    // Время сна между итерациями (зависит от возможностей хостинга)
    sleep(...);
}

Если памяти мало, сервер слабый, посетителей много, сайт упадет. Лучше завершить процесс и повторить через время.