
Oleksandr
22.06.2016
20:01:40

Gilfoyle
22.06.2016
20:01:59
Ништяк

Oleksandr
22.06.2016
20:02:00

F01134H
22.06.2016
20:02:20
Ну как, воркеры же по сути в отдельном потоке должны выполняться, не?

Google

Oleksandr
22.06.2016
20:02:41
Они запускаются как отдельные процессы
Я ещё замутил чтобы они работали через sudo service worker start|restart

F01134H
22.06.2016
20:03:37
а я не линуксоид)
Но в общем то понял

Gleb
22.06.2016
20:05:54

Vladimir
22.06.2016
20:07:59

F01134H
22.06.2016
20:08:32
ок, ок, я уже понял
загуглил, почитал

Oleksandr
22.06.2016
20:08:45
+ у меня есть ещё демон на пхп, для рассылки писем, но сильно злоупотреблять ими не хочу.

Gleb
22.06.2016
20:09:41

Oleksandr
22.06.2016
20:10:14
Может конечно в пхп 7 уже можно и не париться на счёт проблем с ликами

Google

Gleb
22.06.2016
20:11:03
:с жаль

Vladimir
22.06.2016
20:13:23
supervisor + german, запуск консольного пыха, у меня отлично работает

Oleksandr
22.06.2016
20:15:50
И как часто supervisor перезапускает воркеров?

Vladimir
22.06.2016
20:17:22
command=/usr/bin/php /home/***/***system/gearman-worker.php
process_name=%(program_name)s_%(process_num)02d
numprocs=30
он просто смотрит что все ли 30 воркеров работают, если нет запускает
а в воркерах
while (1)
{
}

Oleksandr
22.06.2016
20:20:36
Ты мерял потребление памяти и cpu?

Artur
22.06.2016
20:22:46
норм всё
главное код писать правильный

Vladimir
22.06.2016
20:23:08
там фишка такая что если нечего делать воркер себя убивает
у меня 1CPU старый комп норм справляется
даже с 30кой задач

Artur
22.06.2016
20:23:16
конкретно - не допускать зацикленных ссылок которые приводят к мёртвым циклическим ссылкам

Vladimir
22.06.2016
20:23:28
+ лего подключить доп сервера

Artur
22.06.2016
20:23:40
идеально не while (1), a whilt (++$i <100)

Oleksandr
22.06.2016
20:24:09

Artur
22.06.2016
20:24:14
исправил
чтобы память не текла

Vladimir
22.06.2016
20:24:24
да у меня проверки стоят на выброс
задачи бывают и по 3-4 часа висят в работе и норма

Artur
22.06.2016
20:24:47
когда у тебя 30 выоркеров время на перещапуск для СЛОЖНЫХ операций раз в сто операций(очередей) либо раз в 1000 для простых - нивелирует
я писал демоны для миллионного сайта для которого на каждого грузятся данные в 20+ воркеров

Google

Oleksandr
22.06.2016
20:25:22

Artur
22.06.2016
20:25:49
google: php garbage collector

Oleksandr
22.06.2016
20:25:57
)))

Artur
22.06.2016
20:26:09
это гораздо сложнее чем тупо while $i++ < X
http://php.net/manual/ru/features.gc.collecting-cycles.php
конкретная ссылка но на практике нужны опыты а не доки
реальный код в таких специфических моментах сильно версионно-зависимый
это когда дестрой не происходит потом у что объект ссылается на другой обхект который не может быть утилизирован

Oleksandr
22.06.2016
20:27:37
Как ты узнал, что нужно в while использовать?

Artur
22.06.2016
20:27:38
5а не может потому что используется
о_0
это самый простой способ

Oleksandr
22.06.2016
20:28:04
Просто тесты провёл?
Я думал может есть где-то почитать на счёт таких хуков

Евгений
22.06.2016
20:31:20
кто с sql на Вы хотя бы?))
ORDER BY COUNT(name) ASC так нельзя?

Oleksandr
22.06.2016
20:31:47
Нет

Евгений
22.06.2016
20:31:48
по числу отсортировать
балин
так и думал

Google

Oleksandr
22.06.2016
20:32:07
Count добавь в select

Евгений
22.06.2016
20:32:42
Count добавь в select
я так пробую: SELECT COUNT(name) FROM " . ZOO_TABLE_TAG ." WHERE name = '$tag' ORDER BY name DESC
а нее... все верно там разные запросы))

Oleksandr
22.06.2016
20:33:21
Ты хочешь отсортировать по количеству?

Евгений
22.06.2016
20:33:22
т.е. не 1 большой
ну да
по count(name)

Oleksandr
22.06.2016
20:33:47
Тогда тебе нужно сгруппировать
Добавь group by name
И кстати, я ошибся. Можно и так писать order count(name)

Admin
ERROR: S client not available

Евгений
22.06.2016
20:36:31
да я тут нашел уже) у меня 40 мелких запросов через foreach делается - поэтому не отсортирую

Oleksandr
22.06.2016
20:38:07
А че так мало?
Всего 40))

Евгений
22.06.2016
20:41:22
тегов 40 ))
так для админа статистика - сколько раз были исп.

Artur
22.06.2016
20:52:30

Oleksandr
22.06.2016
20:53:14

Artur
22.06.2016
20:53:34

Google

Artur
22.06.2016
20:54:09
Вот
это значит убивать php каждые Х итераций и переинициализировать заново

Oleksandr
22.06.2016
20:54:43
Ааааа. Вот в чем дело))
Ясно, спасибо что растолковал ))

Artur
22.06.2016
20:55:05
while X это тупо контроль памяти

Mikhail
22.06.2016
20:56:30
group by нужно ещё, не?

Artur
22.06.2016
20:56:42
лучше х*30 демонов которые сожрут условные 300-1000мб чем условные 10 демонов которые выжрут память рано или поздно
не критичен но разумен

Oleksandr
22.06.2016
20:57:37

Artur
22.06.2016
20:58:36
и к слову, герман не мейнстрим
мейнстрим - рэббит. современная норма - бинстолк(aws)
zmq - тупо и быстро

Sergey
22.06.2016
21:00:31
Подскажите простенький микро-фреймворк

Artur
22.06.2016
21:00:56
lumen
если тебе нужен миккро потому что ты не спец - даже не сомневайся

Sergey
22.06.2016
21:02:07

Artur
22.06.2016
21:02:41
именно
либо никакой либо люмен

Sergey
22.06.2016
21:03:43
Хм... попробую его... это же просто обрезанный ларавель?

Artur
22.06.2016
21:04:07
скорее это идея ларавеля без реализации многих вещей
лара это стандарт де факто на сегодня
де юре всё ещё симфони и юии