All streams
Search
Write a publication
Pull to refresh
35
0
Иван @Aco

Программист, Web-разработчик

Send message
А разве это не расширение от тини?
> Но синхронные, типа PHP, тут явно не в выигрышной ситуации.

Возможно, но есть асинхронные PHP фреймворки, которые очень порадовали производительностью.
Ясно, спасибо, разучился читать, видимо.
Ubuntu 11.04, Python 2.7.1+
В питоне не силён
при запуске пишет
python: can't open file 'agent.py': [Errno 2] No such file or directory
куда устанавлил pip скрипт agent.py?
А сколько ещё надо пофиксить… :)
Если вы про SID то setsid запускает новую сессию для вызвавшего setsid процесса причем SID равен PID-у этого процесса (этот процесс называется лидером). Таким образом процесс становится независим от чужой сессии, которая может быть кем-то прибита. Каждый последующий порожденный процесс от лидера или его потомка будет содержатся в этой сессии. В некоторых системах при падении лидера падает и сессия (но жаль что далеко не во всех). По сути, сессия позволяет связать пачку процессов: команада pkill -s SID разошлёт сигнал всем процессам в сессии. ps -Fs SID выведет процессы сессии и т.д.
Всё это проходил и из опыта вот что могу сказать:
Если подключить PECL-расширение proctitle (расширение бета, по причине отсутствия тестов, но работает исправно, проверено) то воркеры смогут задавать свои заголовки в ps или top, например. Это полезно что бы знать кто какие роли выполняет и чем занят.
Fork работает по принципу copy-on-write поэтому самое тяжелое лучше выгрузить в память сразу.
Некоторые расширения ведут себя не корректно после fork-а. Так, например, mysqli разрывает соединение не только в чаилдах, но и в родителе.
Комуникацию по коммандам удобно длеать через сигналы через расширение POSIX. Для более сложной комуникации лучше использовать pair сокеты. По pair советам можно отдавать результат из воркера в мастер по завершению воркера (как-то проще чем через семафоры/мутексы). При включении в дело libevent можно получить очень функциональный событийный демон.
Не забывайте делать setsid (posix_setsid).
Из опыта скажу что mysqli разрывает соединение как у детей так и родителя, нужен реконнект.
> никто же не использует mysql для поиска в большом приложении, хотя там есть MATCH

Вы не представляете как меня это раздражало. Однако у сфинкса есть интеграция с mysql тем самым можно работать с полнотекстовым поиском в mysql. В монге этого не хватает.

> не надо все в одну кучу пихать
Я приверженец не раскидывать единые данные на разные кучи.
Сорь, здесь
*осуждалось === обсуждалось
Вариант, предложенный в доке, не устраивает по нескольким причинам. Разбив текст на слова и применив ключ на это поле, мы получим дубликат данных как на диске так и в памяти + 40 байт за каждое слово (таков оверхед у ключей на элемент, это осуждалось на конференции MongoDB Day Moskow в этом году). Ключи выгружаются в память монгой при старте. Таким образом никакой оперативы не хватит на большое количество текста. Так же нет морфологии. Сложно строить запросы на сложное вхождение словосочетаний и т.д. Я на той конфе разговаривал с Матиасом по поводу полнотекстового поиска, они хотели сделать хук для любого(любого ли?) полнотекстового движка, однако его ещё нет. Приходится выгружать в сфинкс, нагружается целостность данных. Изменились данные в одном месте — измени сам в другом. Не удобно, короче. (Извиняюсь за свой русский)
Их мать, опять полнотекстовый поиск отложили.
Да, jsTree 0.9 очень даже не плох, а вот jsTree 1 мне не понравился вовсе + дока уменьшилась
Статья из серии «Я пиарюсь» — мало данных.

Сколько ботов участвовало?
Сколько ботов забанили?
Только по одному GET запросу били?
Какова гео карта ддоса?
то есть ":" и предложил
я бы предложил:
тогда зачем наследовать когда можно указать параметрами, кои там есть?
по моему очевидно последнее
Статистику по кликам можете предоставить? без указания сайта

Information

Rating
4,866-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Golang
PHP
MySQL
MongoDB
Redis
Git
SQL