powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
13 сообщений из 13, страница 1 из 1
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39584751
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как в процессе работы PHP страницы реализовать вызов второй PHP страницы, но не ждать пока она что то вернёт, а тупо забыть про неё и продолжить работу. Причём на следующей итерации я хочу вызвать эту же PHP страницу но с другими параметрами и опять забыть.
Таким образом мой родительский процесс должен уметь запустить пару сотен дочерних процессов и закончить работу, а те в свою очередь отработать своё и тоже завершиться вне зависимости друг от друга.

Как это сделать?
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39584823
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если без веб-браузера - тогда форк или системный вызов или из внешнего скрипта запуск. Если с веб-браузером - тады аякс.
А вообще, на сервере есть пара сотен ядер или Вы просто желаете его завалить? ;-)
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585394
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не благодари

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
function bgcall() {
	$PROCSTOR = func_get_args();
	$ch = array();
	$dir = dirname($_SERVER['REQUEST_URI']);

	if ($dir == '\\' || $dir == '/')
		$dir = '';
	foreach ($PROCSTOR as $i)
		$ch[$i] = curl_init();

	foreach ($PROCSTOR as $i) {
		$url = 'http://'.$_SERVER['SERVER_NAME'].$dir.'/'.$i;
		echo $url.'<br>';
		curl_setopt($ch[$i], CURLOPT_URL, $url);
		curl_setopt($ch[$i], CURLOPT_TIMEOUT, 10);
		curl_setopt($ch[$i], CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($ch[$i], CURLOPT_RETURNTRANSFER, true);
	}

	$mh = curl_multi_init();

	foreach ($PROCSTOR as $i)
		curl_multi_add_handle($mh, $ch[$i]);

	$active = null;

	do {
		$mrc = curl_multi_exec($mh, $active);
	}
	while ($mrc == CURLM_CALL_MULTI_PERFORM);

	while ($active && $mrc == CURLM_OK) {
		usleep(10 * 1000); # 10 мсек
		while (curl_multi_exec($mh, $active) === CURLM_CALL_MULTI_PERFORM);
		if (curl_multi_select($mh) != -1) {
			do {
				$mrc = curl_multi_exec($mh, $active);
			} while ($mrc == CURLM_CALL_MULTI_PERFORM);
		}
	}

	foreach ($PROCSTOR as $i)
		curl_multi_remove_handle($mh, $ch[$i]);

	curl_multi_close($mh);
}

bgcall('page1.php', 'page2.php');  // some_page3.php, html4.php, proc5.php ....



И ещё:
лучше не придумаешь
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585407
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TolikDлучше не придумаешьА нафига нужны curl с вебсервером, если, по большому счету, можно обратиться к ресурсам сервера напрямую?
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585410
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

проходили уже
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585412
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Не, ну можешь попробовать, может пример приведешь, только с тестированием в разных условиях. Не забываем, что серв может банально запрещать запуск шелла
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585448
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TolikD,

Когда нужно u78запустить пару сотен дочерних процессов, на это далеко не всякий шаред-хостинг согласится. Админы хостера не самоубийцы и лимиты обычно как-то настраивают. Так что, для выполнения задачи именно в таком виде остается ВПС или выделенный сервер, где шелл уж точно доступен. Или задачу следует переформулировать с учетом ограничений хостера. Это касаемо различных условий.

С другой стороны, на своем сервере ресурсы тоже не безграничны. Запуская туеву хучу процессов, тем самым инициируем бОльшие затраты на переключение ядра между процессами и, возможно, оперативной памяти, что в итоге приведет далеко не к линейному увеличению производительности. В какой-то момент окажется, что дальнейшее увеличение количества процессов приводит скорее к росту LA, чем к ожидаемому росту производительности. Впрочем, две сотни ленивых пхпшных процессов для современного многопроцессорного сервера - это не фатально, конечно. Для 8-ядерника это порядка 30 на ядро - погудит, но прожует рано или поздно. Сотни TCP-сокетов тоже перевариваются, была бы память в достатке.

Ну а с третьей стороны, проблемы тормозов вылезут запросто где-то на совместном использовании СУБД, например.

Если интересно, из моего опыта.
С год назад решал подобные задачи - на постоянной основе требуется в возможно более короткий срок собирать данные с внешних источников, слегка обработать и поместить в базу.
Предыдущая модель с курлом, дергающим скрипты через вебсервер именно так и работала, кстати. Если не ошибаюсь, запускалось централизованно с десяток запросов за раз то ли каждую секунду, то ли каждые три или пять, что-то вроде того.
В принципе, оно так работало не первый год, и всё бы ничего, да иногда неплохой такой выделенный сервер, на котором ещё и несколько каких-то веб-сайтов крутились, иногда вставал колом из-за того, что за отведенное время процесс обработки не успевал отработать по разным причинам. Ну тут понятно, нагрузка от веб-сайтов стала выше, а мер по контролю серверных ресурсов в скриптах, попросту, не было принято. Снижение количества запускаемых процессов не приветствовалось, так как "да вы чего, оно и так медленно работает". В общем, в какой-то момент начальство это дело достало и тогда было принято оперативное решение: чтобы не мешать сайтам, убрать этот сервис на отдельную машинку.
Взяли бюджетненькую ВПСку об одном процессорном ядре и одном ГБ памяти (нетбабла, чего уж), ну а там, разумеется, этот сервис, в том виде, как он жил на "большом и толстом", даже и не думал выдавать приемлемую производительность. С неделю потратил на поиски оптимальных алгоритмов и минимизацию всевозможных затрат, так, что от старого кода остался только парсер. Разумеется, переработка далеко не ограничилась только исключением курла и вебсервера - там и очереди в процессах организовал и проверку ресурсов. Конкретно в моем случае оказалось, что для приемлемой работы сервера без заметных перегрузок максимальное число активных процессов сбора/обработки не должно превышать 12...16 (далее круто растет Load Average). По максимуму производительности не оценивал, а причесывать код закончил когда пользователи сказали что скорость отдачи результата их устраивает. Вот, как-то так. Понятно, что проще купить сервер помощнее, чем нанять толкового программиста. К сожалению, таковы реалии.
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585467
Фотография u78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TolikD,

всё таки поблагодарю
спасибо
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39585840
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
u78,

Если хотите функционал подключить то include()

Если в браузере вызвать то пользуйте ajax

Или опишите толком что вы хотите сделать!
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39586105
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleTolikD,

Когда нужно u78запустить пару сотен дочерних процессов, на это далеко не всякий шаред-хостинг согласится.

Пфффф...

Мастерхост

Примерный чатик с техом:
- А нельзя ли у вас запустить 200 процессов из под курла на самом дешевеньком тарифе для нищебродов?
- Попробуйте, не вижу проблемы, если хотите дадим бесплатно на 15 дн...

bgcall.php:
http://u*.mastertest.ru/testproc.php?id=0
http://u*.mastertest.ru/testproc.php?id=1
http://u*.mastertest.ru/testproc.php?id=2
http://u*.mastertest.ru/testproc.php?id=3
http://u*.mastertest.ru/testproc.php?id=4
http://u*.mastertest.ru/testproc.php?id=5
http://u*.mastertest.ru/testproc.php?id=6
http://u*.mastertest.ru/testproc.php?id=7
http://u*.mastertest.ru/testproc.php?id=8
http://u*.mastertest.ru/testproc.php?id=9
http://u*.mastertest.ru/testproc.php?id=10
http://u*.mastertest.ru/testproc.php?id=11
http://u*.mastertest.ru/testproc.php?id=12
http://u*.mastertest.ru/testproc.php?id=13
http://u*.mastertest.ru/testproc.php?id=14
http://u*.mastertest.ru/testproc.php?id=15
http://u*.mastertest.ru/testproc.php?id=16
http://u*.mastertest.ru/testproc.php?id=17
http://u*.mastertest.ru/testproc.php?id=18
http://u*.mastertest.ru/testproc.php?id=19
http://u*.mastertest.ru/testproc.php?id=20
http://u*.mastertest.ru/testproc.php?id=21
http://u*.mastertest.ru/testproc.php?id=22
http://u*.mastertest.ru/testproc.php?id=23
http://u*.mastertest.ru/testproc.php?id=24
http://u*.mastertest.ru/testproc.php?id=25
http://u*.mastertest.ru/testproc.php?id=26
http://u*.mastertest.ru/testproc.php?id=27
http://u*.mastertest.ru/testproc.php?id=28
http://u*.mastertest.ru/testproc.php?id=29
http://u*.mastertest.ru/testproc.php?id=30
http://u*.mastertest.ru/testproc.php?id=31
http://u*.mastertest.ru/testproc.php?id=32
http://u*.mastertest.ru/testproc.php?id=33
http://u*.mastertest.ru/testproc.php?id=34
http://u*.mastertest.ru/testproc.php?id=35
http://u*.mastertest.ru/testproc.php?id=36
http://u*.mastertest.ru/testproc.php?id=37
http://u*.mastertest.ru/testproc.php?id=38
http://u*.mastertest.ru/testproc.php?id=39
http://u*.mastertest.ru/testproc.php?id=40
http://u*.mastertest.ru/testproc.php?id=41
http://u*.mastertest.ru/testproc.php?id=42
http://u*.mastertest.ru/testproc.php?id=43
http://u*.mastertest.ru/testproc.php?id=44
http://u*.mastertest.ru/testproc.php?id=45
http://u*.mastertest.ru/testproc.php?id=46
http://u*.mastertest.ru/testproc.php?id=47
http://u*.mastertest.ru/testproc.php?id=48
http://u*.mastertest.ru/testproc.php?id=49
http://u*.mastertest.ru/testproc.php?id=50
http://u*.mastertest.ru/testproc.php?id=51
http://u*.mastertest.ru/testproc.php?id=52
http://u*.mastertest.ru/testproc.php?id=53
http://u*.mastertest.ru/testproc.php?id=54
http://u*.mastertest.ru/testproc.php?id=55
http://u*.mastertest.ru/testproc.php?id=56
http://u*.mastertest.ru/testproc.php?id=57
http://u*.mastertest.ru/testproc.php?id=58
http://u*.mastertest.ru/testproc.php?id=59
http://u*.mastertest.ru/testproc.php?id=60
http://u*.mastertest.ru/testproc.php?id=61
http://u*.mastertest.ru/testproc.php?id=62
http://u*.mastertest.ru/testproc.php?id=63
http://u*.mastertest.ru/testproc.php?id=64
http://u*.mastertest.ru/testproc.php?id=65
http://u*.mastertest.ru/testproc.php?id=66
http://u*.mastertest.ru/testproc.php?id=67
http://u*.mastertest.ru/testproc.php?id=68
http://u*.mastertest.ru/testproc.php?id=69
http://u*.mastertest.ru/testproc.php?id=70
http://u*.mastertest.ru/testproc.php?id=71
http://u*.mastertest.ru/testproc.php?id=72
http://u*.mastertest.ru/testproc.php?id=73
http://u*.mastertest.ru/testproc.php?id=74
http://u*.mastertest.ru/testproc.php?id=75
http://u*.mastertest.ru/testproc.php?id=76
http://u*.mastertest.ru/testproc.php?id=77
http://u*.mastertest.ru/testproc.php?id=78
http://u*.mastertest.ru/testproc.php?id=79
http://u*.mastertest.ru/testproc.php?id=80
http://u*.mastertest.ru/testproc.php?id=81
http://u*.mastertest.ru/testproc.php?id=82
http://u*.mastertest.ru/testproc.php?id=83
http://u*.mastertest.ru/testproc.php?id=84
http://u*.mastertest.ru/testproc.php?id=85
http://u*.mastertest.ru/testproc.php?id=86
http://u*.mastertest.ru/testproc.php?id=87
http://u*.mastertest.ru/testproc.php?id=88
http://u*.mastertest.ru/testproc.php?id=89
http://u*.mastertest.ru/testproc.php?id=90
http://u*.mastertest.ru/testproc.php?id=91
http://u*.mastertest.ru/testproc.php?id=92
http://u*.mastertest.ru/testproc.php?id=93
http://u*.mastertest.ru/testproc.php?id=94
http://u*.mastertest.ru/testproc.php?id=95
http://u*.mastertest.ru/testproc.php?id=96
http://u*.mastertest.ru/testproc.php?id=97
http://u*.mastertest.ru/testproc.php?id=98
http://u*.mastertest.ru/testproc.php?id=99
http://u*.mastertest.ru/testproc.php?id=100
http://u*.mastertest.ru/testproc.php?id=101
http://u*.mastertest.ru/testproc.php?id=102
http://u*.mastertest.ru/testproc.php?id=103
http://u*.mastertest.ru/testproc.php?id=104
http://u*.mastertest.ru/testproc.php?id=105
http://u*.mastertest.ru/testproc.php?id=106
http://u*.mastertest.ru/testproc.php?id=107
http://u*.mastertest.ru/testproc.php?id=108
http://u*.mastertest.ru/testproc.php?id=109
http://u*.mastertest.ru/testproc.php?id=110
http://u*.mastertest.ru/testproc.php?id=111
http://u*.mastertest.ru/testproc.php?id=112
http://u*.mastertest.ru/testproc.php?id=113
http://u*.mastertest.ru/testproc.php?id=114
http://u*.mastertest.ru/testproc.php?id=115
http://u*.mastertest.ru/testproc.php?id=116
http://u*.mastertest.ru/testproc.php?id=117
http://u*.mastertest.ru/testproc.php?id=118
http://u*.mastertest.ru/testproc.php?id=119
http://u*.mastertest.ru/testproc.php?id=120
http://u*.mastertest.ru/testproc.php?id=121
http://u*.mastertest.ru/testproc.php?id=122
http://u*.mastertest.ru/testproc.php?id=123
http://u*.mastertest.ru/testproc.php?id=124
http://u*.mastertest.ru/testproc.php?id=125
http://u*.mastertest.ru/testproc.php?id=126
http://u*.mastertest.ru/testproc.php?id=127
http://u*.mastertest.ru/testproc.php?id=128
http://u*.mastertest.ru/testproc.php?id=129
http://u*.mastertest.ru/testproc.php?id=130
http://u*.mastertest.ru/testproc.php?id=131
http://u*.mastertest.ru/testproc.php?id=132
http://u*.mastertest.ru/testproc.php?id=133
http://u*.mastertest.ru/testproc.php?id=134
http://u*.mastertest.ru/testproc.php?id=135
http://u*.mastertest.ru/testproc.php?id=136
http://u*.mastertest.ru/testproc.php?id=137
http://u*.mastertest.ru/testproc.php?id=138
http://u*.mastertest.ru/testproc.php?id=139
http://u*.mastertest.ru/testproc.php?id=140
http://u*.mastertest.ru/testproc.php?id=141
http://u*.mastertest.ru/testproc.php?id=142
http://u*.mastertest.ru/testproc.php?id=143
http://u*.mastertest.ru/testproc.php?id=144
http://u*.mastertest.ru/testproc.php?id=145
http://u*.mastertest.ru/testproc.php?id=146
http://u*.mastertest.ru/testproc.php?id=147
http://u*.mastertest.ru/testproc.php?id=148
http://u*.mastertest.ru/testproc.php?id=149
http://u*.mastertest.ru/testproc.php?id=150
http://u*.mastertest.ru/testproc.php?id=151
http://u*.mastertest.ru/testproc.php?id=152
http://u*.mastertest.ru/testproc.php?id=153
http://u*.mastertest.ru/testproc.php?id=154
http://u*.mastertest.ru/testproc.php?id=155
http://u*.mastertest.ru/testproc.php?id=156
http://u*.mastertest.ru/testproc.php?id=157
http://u*.mastertest.ru/testproc.php?id=158
http://u*.mastertest.ru/testproc.php?id=159
http://u*.mastertest.ru/testproc.php?id=160
http://u*.mastertest.ru/testproc.php?id=161
http://u*.mastertest.ru/testproc.php?id=162
http://u*.mastertest.ru/testproc.php?id=163
http://u*.mastertest.ru/testproc.php?id=164
http://u*.mastertest.ru/testproc.php?id=165
http://u*.mastertest.ru/testproc.php?id=166
http://u*.mastertest.ru/testproc.php?id=167
http://u*.mastertest.ru/testproc.php?id=168
http://u*.mastertest.ru/testproc.php?id=169
http://u*.mastertest.ru/testproc.php?id=170
http://u*.mastertest.ru/testproc.php?id=171
http://u*.mastertest.ru/testproc.php?id=172
http://u*.mastertest.ru/testproc.php?id=173
http://u*.mastertest.ru/testproc.php?id=174
http://u*.mastertest.ru/testproc.php?id=175
http://u*.mastertest.ru/testproc.php?id=176
http://u*.mastertest.ru/testproc.php?id=177
http://u*.mastertest.ru/testproc.php?id=178
http://u*.mastertest.ru/testproc.php?id=179
http://u*.mastertest.ru/testproc.php?id=180
http://u*.mastertest.ru/testproc.php?id=181
http://u*.mastertest.ru/testproc.php?id=182
http://u*.mastertest.ru/testproc.php?id=183
http://u*.mastertest.ru/testproc.php?id=184
http://u*.mastertest.ru/testproc.php?id=185
http://u*.mastertest.ru/testproc.php?id=186
http://u*.mastertest.ru/testproc.php?id=187
http://u*.mastertest.ru/testproc.php?id=188
http://u*.mastertest.ru/testproc.php?id=189
http://u*.mastertest.ru/testproc.php?id=190
http://u*.mastertest.ru/testproc.php?id=191
http://u*.mastertest.ru/testproc.php?id=192
http://u*.mastertest.ru/testproc.php?id=193
http://u*.mastertest.ru/testproc.php?id=194
http://u*.mastertest.ru/testproc.php?id=195
http://u*.mastertest.ru/testproc.php?id=196
http://u*.mastertest.ru/testproc.php?id=197
http://u*.mastertest.ru/testproc.php?id=198
http://u*.mastertest.ru/testproc.php?id=199
0.28406405448914


loser.log:
1516218424.513:0 --== START
1516218424.513:1 --== START
1516218424.5131:2 --== START
1516218424.5132:8 --== START
1516218424.5137:3 --== START
1516218424.514:7 --== START
1516218424.5151:5 --== START
1516218424.5163:4 --== START
1516218424.5174:9 --== START
1516218424.5183:6 --== START
1516218424.5191:10 --== START
1516218424.5192:14 --== START
1516218424.5193:16 --== START
1516218424.5197:12 --== START
1516218424.52:15 --== START
1516218424.5201:25 --== START
1516218424.5204:17 --== START
1516218424.5205:26 --== START
1516218424.5212:18 --== START
1516218424.5212:19 --== START
1516218424.522:13 --== START
1516218424.5222:20 --== START
1516218424.5229:22 --== START
1516218424.5233:11 --== START
1516218424.5236:23 --== START
1516218424.5236:24 --== START
1516218424.5236:33 --== START
1516218424.5238:36 --== START
1516218424.5238:28 --== START
1516218424.5246:21 --== START
1516218424.5246:31 --== START
1516218424.5263:27 --== START
1516218424.5278:39 --== START
1516218424.5285:29 --== START
1516218424.5288:32 --== START
1516218424.529:34 --== START
1516218424.5295:42 --== START
1516218424.53:48 --== START
1516218424.5302:41 --== START
1516218424.5303:40 --== START
1516218424.5305:49 --== START
1516218424.5306:44 --== START
1516218424.5306:46 --== START
1516218424.531:30 --== START
1516218424.5313:45 --== START
1516218424.5316:38 --== START
1516218424.5326:43 --== START
1516218424.5327:47 --== START
1516218424.5329:37 --== START
1516218424.5345:35 --== START
1516218424.6132:1 END
1516218424.6132:0 END
1516218424.6133:8 END
1516218424.6133:2 END
1516218424.6138:3 END
1516218424.6142:7 END
1516218424.6152:5 END
1516218424.6165:4 END
1516218424.6175:9 END
1516218424.6185:6 END
1516218424.6193:10 END
1516218424.6194:14 END
1516218424.6195:16 END
1516218424.6199:12 END
1516218424.6201:15 END
1516218424.6202:25 END
1516218424.6206:17 END
1516218424.6207:26 END
1516218424.6214:18 END
1516218424.6214:19 END
1516218424.6222:13 END
1516218424.6224:20 END
1516218424.6231:22 END
1516218424.6235:11 END
1516218424.6238:24 END
1516218424.6239:36 END
1516218424.6241:50 --== START
1516218424.6244:28 END
1516218424.6246:51 --== START
1516218424.6247:23 END
1516218424.6253:31 END
1516218424.6256:21 END
1516218424.6272:27 END
1516218424.6277:33 END
1516218424.6287:29 END
1516218424.6291:34 END
1516218424.6296:32 END
1516218424.6301:42 END
1516218424.6302:48 END
1516218424.6303:55 --== START
1516218424.6304:40 END
1516218424.6305:41 END
1516218424.6305:39 END
1516218424.6307:49 END
1516218424.6308:44 END
1516218424.6313:53 --== START
1516218424.6317:68 --== START
1516218424.6327:43 END
1516218424.6328:54 --== START
1516218424.6329:47 END
1516218424.633:52 --== START
1516218424.6331:37 END
1516218424.6334:38 END
1516218424.6336:46 END
1516218424.6349:35 END
1516218424.6355:45 END
1516218424.6355:57 --== START
1516218424.6363:56 --== START
1516218424.6391:30 END
1516218424.6395:70 --== START
1516218424.6395:64 --== START
1516218424.6404:66 --== START
1516218424.6405:63 --== START
1516218424.6413:71 --== START
1516218424.6416:60 --== START
1516218424.6416:65 --== START
1516218424.6418:62 --== START
1516218424.6423:78 --== START
1516218424.6435:58 --== START
1516218424.6444:67 --== START
1516218424.645:74 --== START
1516218424.6454:82 --== START
1516218424.6456:77 --== START
1516218424.6456:73 --== START
1516218424.6464:72 --== START
1516218424.6469:69 --== START
1516218424.647:86 --== START
1516218424.6474:75 --== START
1516218424.6475:59 --== START
1516218424.6476:88 --== START
1516218424.6479:61 --== START
1516218424.6491:76 --== START
1516218424.6493:79 --== START
1516218424.6495:81 --== START
1516218424.6496:83 --== START
1516218424.6496:87 --== START
1516218424.6499:84 --== START
1516218424.6505:92 --== START
1516218424.6514:80 --== START
1516218424.6529:85 --== START
1516218424.6547:90 --== START
1516218424.655:93 --== START
1516218424.6553:95 --== START
1516218424.6554:94 --== START
1516218424.6559:98 --== START
1516218424.6559:96 --== START
1516218424.656:99 --== START
1516218424.6566:91 --== START
1516218424.6572:89 --== START
1516218424.658:97 --== START
1516218424.7242:50 END
1516218424.7247:51 END
1516218424.7304:55 END
1516218424.7314:53 END
1516218424.7319:68 END
1516218424.7324:100 --== START
1516218424.7325:102 --== START
1516218424.7329:54 END
1516218424.7331:52 END
1516218424.7357:57 END
1516218424.7365:56 END
1516218424.7397:70 END
1516218424.7397:64 END
1516218424.7404:121 --== START
1516218424.7407:66 END
1516218424.7407:63 END
1516218424.7416:71 END
1516218424.7417:60 END
1516218424.7418:65 END
1516218424.7424:78 END
1516218424.7454:74 END
1516218424.7456:58 END
1516218424.7457:77 END
1516218424.7458:73 END
1516218424.747:82 END
1516218424.7477:67 END
1516218424.7478:88 END
1516218424.7481:61 END
1516218424.7492:76 END
1516218424.7497:87 END
1516218424.7499:69 END
1516218424.75:75 END
1516218424.7507:92 END
1516218424.7508:83 END
1516218424.7508:79 END
1516218424.7516:72 END
1516218424.7518:59 END
1516218424.7521:81 END
1516218424.7521:80 END
1516218424.753:85 END
1516218424.7536:84 END
1516218424.7558:94 END
1516218424.7558:86 END
1516218424.756:90 END
1516218424.756:98 END
1516218424.7561:96 END
1516218424.7561:99 END
1516218424.7566:95 END
1516218424.7568:91 END
1516218424.7573:89 END
1516218424.7619:93 END
1516218424.7628:97 END
1516218424.7638:62 END
1516218424.79:189 --== START
1516218424.7902:186 --== START
1516218424.7904:188 --== START
1516218424.7904:178 --== START
1516218424.7904:194 --== START
1516218424.7907:122 --== START
1516218424.7911:175 --== START
1516218424.7914:187 --== START
1516218424.7917:177 --== START
1516218424.7923:191 --== START
1516218424.793:193 --== START
1516218424.7931:168 --== START
1516218424.7932:182 --== START
1516218424.7933:198 --== START
1516218424.7934:161 --== START
1516218424.7937:170 --== START
1516218424.794:192 --== START
1516218424.7941:174 --== START
1516218424.7941:195 --== START
1516218424.7943:180 --== START
1516218424.7946:199 --== START
1516218424.7946:181 --== START
1516218424.7958:197 --== START
1516218424.7958:171 --== START
1516218424.7961:196 --== START
1516218424.7961:159 --== START
1516218424.8325:100 END
1516218424.8326:102 END
1516218424.8406:121 END
1516218424.8902:189 END
1516218424.8904:186 END
1516218424.8906:194 END
1516218424.8906:188 END
1516218424.8909:122 END
1516218424.8913:175 END
1516218424.8916:187 END
1516218424.8918:177 END
1516218424.8925:191 END
1516218424.8932:193 END
1516218424.8932:168 END
1516218424.8934:182 END
1516218424.8934:198 END
1516218424.8937:161 END
1516218424.8942:192 END
1516218424.8943:174 END
1516218424.8943:195 END
1516218424.8952:178 END
1516218424.8955:199 END
1516218424.8956:181 END
1516218424.8959:197 END
1516218424.896:180 END
1516218424.8962:170 END
1516218424.8963:196 END
1516218424.8967:159 END
1516218424.9003:171 END
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39586107
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleЕсли интересно, из моего опыта.

Прочел, интересно было да
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39586108
TolikD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
u78TolikD,

всё таки поблагодарю
спасибо

Кстати сорь, косяк всё тки есть

Будет задержка из-за кода:
Код: php
1.
curl_setopt($ch[$i], CURLOPT_TIMEOUT, 10);


этот я использую.

Тебе сменить на
Код: php
1.
curl_setopt($ch[$i], CURLOPT_TIMEOUT_MS, 10);


и поиграться с параметром 10, может меньше, может чуть больше, зависит от серва.

Не забудь убрать совсем:
Код: php
1.
echo $url.'<br>';



Ещё:
Код: php
1.
usleep(10 * 1000); # 10 мсек


здесь можно выставить минимально usleep(1), но убирать совсем не стоит, не помню зачем, но лучше оставить
...
Рейтинг: 0 / 0
помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
    #39586137
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TolikDПфффф...

МастерхостАга, у них особо жестоких ограничений по процессам не припоминаю. На крон, вроде, было необычное ограничение - запуск не чаще чем раз в пять минут. Впрочем, давно к ним не заглядывал.


TolikDloser.log:Любопытно. Первая пачка в полсотни запросов стартовала сразу, потом завершения пошли, и так в цикле практически. Получается, что одновременно выполняются порядка полусотни запросов. Такое впечатление, что на уровне вебсервера ограничение на количество выполняемых запросов. Вызываемый скрипт - не пробовали заставить его работать подольше (секунду-другую, чтобы попытаться набрать все двести одновременно) и, возможно, чем-нибудь слегка производительным загрузить с записью лога в базу или в свой, отдельный файл (чтобы на общем логе не тупили в ожидании разрешения коллизий)? Возможно, для полноты картины в параметрах запроса следует добавить метку времени - когда отправлен запрос, а в скрипте вывести в лог эту переданную метку и фактическое время запуска. Подозреваю, вылезет какое-то ожидание.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / помогите запустить несколько php страниц и не ожидая их ответа продолжить работу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]