- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую форумчан!
Возникла такая сложность: требуется из одного скрипта запустить одновременно несколько копий другого скрипта с разными параметрами. Первый скрипт запускается по крону (ну это неважно).
Проблема в том что копии второго скрипта должны запускаться одновременно, а не так, что сначала одна копия отработала, потом вторая и т.д.
Кто может помочь с этой задачкой? :smoke:
Тю. Гугл выдаст массу полезного по запросу "Эмуляция многопоточности в php". Например, через CURL. Дергаете свой скрипт из другого скрипта сколько надо раз с какими надо параметрами...
да Гугл-то выдает массу всего, в том числе и через curl, но разобраться не могу.
Например, какой способ лучше??? (менее затратен в плане ресурсов сервера)
Проведите эксперимент :)
"Ресурсы сервера" вобщем-то на сам скрипт (и интерпритатор) тратятся, а на его вызов - ничтожные доли %.
допустим, по крону вы запускаете скрипт cron.php
вам необходимо положить в него сценарий, который запустит, допустим, 100 копий скрипта go.php и передаст в него какие-то параметры... Для этого можно использовать system(), например в cron.php пишем:
{
system("cd /path/to/your/folder; /usr/local/bin/php go.php $perem1 $perem2 > log_$i.txt &");
}
Здесь:
/path/to/your/folder - путь к папке скрипта от корня сервера
/usr/local/bin/php - путь к PHP (обычно такой и есть)
$perem1 $perem2 и так далее - переменные, которые вам нужно посылать в скрипт go.php
log_$i.txt - будут созданы 100 лог-файлов, в каждый из которых будет писаться вывод соответствующего "потока"
Этот цикл запустить 100 экземпляров скрипта go.php
Переменные, посланные в сценарий ($perem1 $perem2) доступны в go.php как $argv[1] $argv[2] и т.д.
Попробуйте... если не получится - стучите в асю мне... помогу.
допустим, по крону вы запускаете скрипт cron.php
вам необходимо положить в него сценарий, который запустит, допустим, 100 копий скрипта go.php и передаст в него какие-то параметры... Для этого можно использовать system(), например в cron.php пишем:
Здесь:
/path/to/your/folder - путь к папке скрипта от корня сервера
/usr/local/bin/php - путь к PHP (обычно такой и есть)
$perem1 $perem2 и так далее - переменные, которые вам нужно посылать в скрипт go.php
log_$i.txt - будут созданы 100 лог-файлов, в каждый из которых будет писаться вывод соответствующего "потока"
Этот цикл запустить 100 экземпляров скрипта go.php
Переменные, посланные в сценарий ($perem1 $perem2) доступны в go.php как $argv[1] $argv[2] и т.д.
Попробуйте... если не получится - стучите в асю мне... помогу.
Спасибо большое, я вроде потихоньку разобрался, но я понял как с помощью curl сделать, сейчас разбираюсь, как через сокеты.
крон задача
* * * * * /etc/php /scripts/test.php
test.php:
вот и запустили.
http://ru.php.net/pcntl_fork форк процесса, а дальше exec. у меня так. но у меня эти скрипты запускаются с помощью еще одного демона (trickle) для ограничения скорость на поток, по-этому через exec только
Toshka, так он текущий процесс форкает.
за trickle списбо
UPD1: ну он не очень качественно, прям сказать органичивает bandwidth.
Запустил trickle -d 3 wget http://файл на 6 метров
Скачет - иногда даже 8кб выдает.
UPD2: trickle аццтой :) буду tc пользоваться
Например через асинхронные сокеты, посмотреть можно здесь.
Toshka, так он текущий процесс форкает.
за trickle списбо
UPD1: ну он не очень качественно, прям сказать органичивает bandwidth.
Запустил trickle -d 3 wget http://файл на 6 метров
Скачет - иногда даже 8кб выдает.
UPD2: trickle аццтой :) буду tc пользоваться
текущий форкает:) что плохого?
по поводу скорости - меня устраивает. при небольший значения скорость будет скакать в больших пределах. у меня при 1мб на поток все нормально😂