
Dmitry
27.01.2017
13:29:33
программист знает, а процесс-контроллер, который распределяет задачи - нет
или у тебя воркеры не равноценные

Pavel
27.01.2017
13:29:45
Например если 10 воркеров делают задачу mail_send, и она реализована асинхронно, то ясно что там нету ничего блокирующего - открыл сокет и пишешь туда текст.

Google

Pavel
27.01.2017
13:30:19
Или сама задача выдает информацию "меня можно асинхронно запускать"

Dmitry
27.01.2017
13:30:38
это у тебя уже не легковесный контроллер, это уже контроллер получается

Pavel
27.01.2017
13:31:11
Да ладно этот контроллер будет максимум пару десятков мегабайт жрать, со всеми включенными библиотеками
А течь он может месяцами, пока не сдохнет

Dmitry
27.01.2017
13:31:49
это контролер, который решает, что у воркера 1 исполняется задача А, она асинхронная и туда можно еще засунуть задачу Б, а во задачу С нельзя, ее нужно передать на воркер 2
и по хорошему еще оценка асинхронности, сколько времени cpu нужно задаче, а сколько она спит в io
в общем у тебя получится плохо понятная и плохо управляемая логика, которая рано или позно выстрелит тебе в больное место

Pavel
27.01.2017
13:33:50
Короче это не рокет сайнс. Алгоритм средней сложности, который надо 1 раз закодить и оттестировать. И можно его использовать в сотнях проектов ;)

Dmitry
27.01.2017
13:34:08
алгоритм решить можно, проблема не в этом

Pavel
27.01.2017
13:34:12
Как будто всякие реббиты и эластики не выстреливают, если их неправильно сконфигурировать

Dmitry
27.01.2017
13:35:51
а в том, что у тебя живой код воркеров, который меняется, в котором ошибки и все это будет валить твои очереди.... в одном случае засунули блокирующую операцию, а задача помечена как асинхронная, в другом случае - задачи вроде асинхронные, но на самом деле кучу cpu жрут

Pavel
27.01.2017
13:36:42
Я надеюсь что программист в состоянии сделать булево решение - годится ли его задача для асинхронности или нет.

Google

Dmitry
27.01.2017
13:36:48
не говоря уже о том, что у тебя в случае равноценности воркеров каждый воркер должен уметь каждую задачу... т.е. у тебя все задачи должны быть описаны в одном проекте.. такой супер-класс

Pavel
27.01.2017
13:37:23
Если не в состоянии - значит по умолчанию все делаем в отдельных процессах - вариант для тех кому лень тюнинговать.
Вот FPM тот же работает прекрасно и всю логику в себе инкапсулирует. У него есть там 5 параметров - сколько воркеров плодить, сколько памяти выдавать, как часто рестартить. И 90% людей в этом не разбирается, при этом fpm используют на ура.

Dmitry
27.01.2017
13:38:42
о том и речь ;) что там 5 параметров ;) и то, 95% процентов не понимают, что для выделенного сервера динамические пулы не нужны, а нужно настраивать статические

Pavel
27.01.2017
13:39:39
Для большинства средненьких проектов этого хватает, можно ваще не париться

Dmitry
27.01.2017
13:40:45
ну да... сразу вспоминается, делал я тестовое задание... и там типа один и параметров - число запросов в секунду.... пробую.. получается раз так в 5 меньше у меня, чем по условию задачи... я в печали

Кенни
27.01.2017
13:41:43
Привет ребят знает ли кто-нибудь как запустить mysql в xampp 7 0 13 на ubuntu 16 04. Требует пароль а я не знаю где его узнать.)))

Dmitry
27.01.2017
13:42:38
да оказалось, что опыт подвел, и человек дал цифру в тестовое исходя из конкурентности, при этом ничего не написав... просто, как потом оказалось, он вообще не очень в этом, типа "не парится"... а я то, как опытный чувак, в один поток мерял, иначе то как, если не указана конкурентность

Кенни
27.01.2017
13:43:29
Mysql

Dmitry
27.01.2017
13:43:50
по телефону позвонил, представился mysql и спросил пароль?

Alex
27.01.2017
13:44:24
> xampp 7 0 13 на ubuntu 16 04
wut?

Кенни
27.01.2017
13:45:10

Pavel
27.01.2017
13:45:56
xampp же вроде для винды только?

Dmitry
27.01.2017
13:46:03
не, для линуха есть
https://www.apachefriends.org/ru/index.html

Alex
27.01.2017
13:46:27
и для макоси, куда катится мир

Pavel
27.01.2017
13:46:35
Я его последний раз трогал аж лет 7-8 назад :(

Кенни
27.01.2017
13:46:57

Alex
27.01.2017
13:48:33
гыгы, ипользование каких-то мутных бинарников в линуксе теперь раем зовётся

Google

Dmitry
27.01.2017
13:49:04
https://badoo-development.timepad.ru/event/437019/

Pavel
27.01.2017
13:50:33
?

Alex
27.01.2017
13:51:09
??

Alexander
27.01.2017
15:03:38
а как у вы строите взаимодействие разработка - интерфейс - дизайн/верстка ? У меня обычно получается разработка + интерфейс (с простешим дизайном), потом уже дизайн под все это, верстка, а потом правки разработки под этот дизайн...потому что обычно там чего-то меняется в интерфейсе.
Вот думаю, что чего-то в этой схеме неоптимально...

Dmitry
27.01.2017
15:05:48
у нас прототипы очень близки к результату, т.е. "дизайн" уже украшательства, с которыми справляется верстальщик почти без дергания разработки

Alexander
27.01.2017
15:07:41
но тогда на этапе разработки много возни с прототипом будет... Например у меня в прототипе голый html практически, а в готовом дизайне всякие летающие штуки появляются, много js и часто требуется backend к этому js...

Dmitry
27.01.2017
15:07:56
бекенд к летающим штукам? ;)
у нас прототип - это фактически ТЗ для бекенда, т.е. если чего-то в прототипе нет, а нужно - идет на второй этап

Alexander
27.01.2017
15:08:52
ну всякое там ) Впринципе это не сложно все реализуется в разработке
т.е. сама идея у вас такая же, разработка + прототип/интерфейс, потом окончательный дизайн

Dmitry
27.01.2017
15:11:55
ну да, у нас же закачики, там все через утверждения... дизайн (всякие рюшечки) очень долго утверждается, вкусовщина... по-этому, сначала прототипы на утверждение, что бы разработка могла уже работать не только по ядру, и верска уже могла работать

Alexander
27.01.2017
15:13:10
А с заказчиком по прототипу обсуждаете все что он хочет?

Dmitry
27.01.2017
15:13:29
обсуждаем, утверждаем...

Dmitry
27.01.2017
17:07:40
Про Devconf. в 2014 было ощущение чего-то нового, но тусовался в основном на go, storage, common ну и асинхронщина была уже в php. В 2016 в основном получилось увидеть знакомые лица, не было ощущения нового. На highload с интересом слушал про patroni, применяю. Appserver.io была попытка наваять томкат на php с деплоем архива через веб. Не знаю живо или нет. Хот релоад обещали. С тредами.

Dmitry
27.01.2017
22:00:20
а что-то подумалось, я правильно понимаю, что при session_auto_start у нас объекты в сессии всегда будут incomplete? Автолоадер то не подключишь до старта.

Oleg
28.01.2017
10:18:49
Всех с новым годом теперь по китайскому стилю! Наступил 4714 год - красного огненного петуха. Стихия огонь, сопутствуют лето и юг. Поэтому всем желаю здоровой активности и боевого духа!!!

Aleksandr
28.01.2017
10:20:22
??

Json
28.01.2017
11:25:01
Есть мануалы, где можно покурить управление кроном через пыху?

Сергей
28.01.2017
11:39:13
А зачем это?
Крон не надежный, а если пыхой лезть в системные файлы есть вероятность сломать крон и вы даже не будете об этом знать)

Google

Сергей
28.01.2017
11:40:48
А если так сильно нужно через крон, запусти раз в минуту один скрипт, который будет перераспределять задачи и все
А если нужно чтото важное делать в фоне, то лучше очереди использовать, например раббитмкью

dypa
28.01.2017
12:06:36

Dmitry
28.01.2017
12:34:12
man crontab скорее уж

Json
28.01.2017
12:38:43
А зачем это?
Нужно запускать граббер из под цмс и указывать нужное время

Alex
28.01.2017
12:39:26

Json
28.01.2017
12:47:33

Alex
28.01.2017
12:48:51
а хотя бы и так, если должно в полностью автоматическом режиме существовать

Admin
ERROR: S client not available

Alex
28.01.2017
12:49:29
весь мир на кронтабе работает и ничего, не развалился ещё :о)

Oleg
28.01.2017
12:52:06
Я так и не понял, что такое управлять кроном, а главное зачем.
Зачем из пыха управлять кроном?

Json
28.01.2017
12:53:10
чтобы задавать различное время запуска граббера

Oleg
28.01.2017
12:53:33

Json
28.01.2017
12:53:43
Да

Oleg
28.01.2017
12:53:48
Различное время постоянное?
Или вам нужно задать отложенный запуск?

Dmitry
28.01.2017
12:54:47
управлять кроном - это $h = popen("crontab -", "w") ; fwrite($h, "10 10 * * * php command.php"); pclose($h);

Google

Oleg
28.01.2017
12:55:15
и при этом права иметь туда писать

Dmitry
28.01.2017
12:55:31
кронтабы per user

Json
28.01.2017
12:56:02
2. Нужен скрипт, который раз в определенное количество времени (например 12 часов), будет искать новые новости на первом сайте и также рандомно их копировать на второй. И добавлять с интервалом например 6 часов. И нужно сделать чтоб эти 12 и 6 часов можно было меня самому в админке.
вот задание

Oleg
28.01.2017
12:59:18
Ну да, тут реальн крон править.
Хотя можно через AT, запустил, скрипт отработал, получил значение через сколько нужно запустится и поставил через AT отложенную команду на запуск себя.

Alex
28.01.2017
13:08:39

Grigori
28.01.2017
13:12:19

Dmitry
28.01.2017
13:15:04
как
типа там препенд файл или что-то такое было в пхп... оно еще существует?

Alex
28.01.2017
13:20:07
а чего ж ему не существовать-то
ну и через хендлер сессий наверняка можно :)

Dmitry
28.01.2017
13:22:05
через какой хендлер, у тебя сессия уже стартанула
а вообще объект десиреализуется на старте сессии или на первом обращении к ключу?

Alex
28.01.2017
13:47:10

Dmitry
28.01.2017
13:48:38
ты про какой хендлер? сишный? или user-level?

Pavel
28.01.2017
13:53:26
Легче проверить по быстрому чем теоретизировать

Alex
28.01.2017
13:53:37
юзерский

Pavel
28.01.2017
13:53:45
Имхо session_autostart будет работать лениво

Alex
28.01.2017
13:54:02
скорее всего

Pavel
28.01.2017
13:54:10
И грузанет сессию при первом требовании, но не при запуске скрипта
Иначе реально была бы серьезная проблема с автолоадингом и куча жалоб