- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую, всем доброго времени!
Задача: нужно по крону запускать один и тот же скрипт (php) NN раз одновременно и многопоточно.
Какие существуют варианты, кроме создания NN заданий для крона и гонять через апач curl_multi_exec'ом?
Буду рад любым идеям...
А что значит многопоточно? Каждый вызов интерпритатора создает процесс, внутри процесса пхп сам по себе не умеет тредиться, сам язык не многопоточный, а вот интерпритатор вы можете хоть миллион раз запустить.
А вообще рекомендую сделать демона, что то типо:
И запустить его руками через консоль (там обычно в настройках время жизни скрипта не ограничивают) столько копий, сколько вам потребуеться. Только надо следить за тем чтобы не плодились переменные и прочее, так сказать чтоб "не потекла" память, ну и смотерть что вы там делаете, если там в основном операции вычисления, то скорее всего вас хостер (если на общей ноде) попросить покинуть их компанию, если нет и с вменяемым управлением внутри скрипта, то все обойдеться.
Aisamiery, под многопоточностью я подразумеваю выполнение 10-20-30 копий скрипта за время выполнения одной копии скрипта... сейчас это у меня делается curl_multi_exec'ом, но жрется много лишних ресурсов и забивается апач, а на железке еще и сайты с посещалкой работают, так что ищу варианты...
первый Ваш вариант не подходит, т.к. кол-во "потоков" зависит от вводных данных, "-f" это "в фоне" как я понимаю?.. ну если только про запас вызвать этой командой копий 50, и ненужные вызовы сбрасывать...
по хостеру нет проблем, у меня в основном свои железки и дорогие ВПСы.
---------- Добавлено 27.01.2017 в 02:59 ----------
а что если
exec('php -f script.php;');из php? вариант?Буду рад любым идеям...
You can create simple shell script to do that (for example, this will run 10 instances of script.php in parallel):
Then, add this script to your cron schedule
не канает
=(( тупо не выводится результат, время затрачивается такое же как при последовательном вызове... даже через ';' собрал в одну команду - то же самое, последовательно =((---------- Добавлено 27.01.2017 в 21:38 ----------
You can create simple shell script to do that (for example, this will run 10 instances of script.php in parallel):
Then, add this script to your cron schedule
ждет все равно(
---------- Добавлено 27.01.2017 в 21:39 ----------
решение найдено:
exec("php script.php > /dev/null 2>/dev/null &");вобще ничего не ждет... то что надо)ждет все равно
It runs all tasks in parallel and waits until all tasks will completed.
exec("php script.php > /dev/null 2>/dev/null &");вобще ничего не ждетWrong. What about tasks overlapping?
Wrong. What about tasks overlapping?
script.php will be runned with arguments...