
Sergey
11.09.2017
11:44:19
а вот джира пидалит что будь здоров облачная

Антон
11.09.2017
11:45:54
у нас DO 20$ под него и дышит еле еле

Sergey
11.09.2017
11:47:03
мы на aws, с rds и 4Gb RAM

Google

Sergey
11.09.2017
11:47:49
для 150 активных юзеров нормально тянет
ну и по расходам выходит что-то около $60/m

Антон
11.09.2017
11:48:46
у вас 150 сотрудников?
прогеры+тестировщики и иные?

Sergey
11.09.2017
12:39:12
тип того

Oleg
11.09.2017
13:20:00
Здарова, мужики! Кто работал с разделяемой памятью?

Dmitry
11.09.2017
13:24:06
Статистику собираешь, кто работал, а кто нет?

Maksim
11.09.2017
13:24:29
Получить access_token (vk api) для группы (нужно посты отправлять в группу) (wall.post доступен только standalone-приложениям) Создав standalone-приложение каким образом его присоединить к группе/ам ?

Борис
11.09.2017
13:24:30
@definator Есть такое правило в чатах - задавай сразу вопрос, без вводных привет как дела, кто работал. Будет кто знать сразу ответит - а другой сразу пройдет мимо

Oleg
11.09.2017
13:26:56

Dmitry
11.09.2017
13:28:56

Oleg
11.09.2017
13:32:14
ну так свяжи ;)
Да вот думаю, как это сделать) Было бы хорошо выделить общую память

Google

Борис
11.09.2017
13:32:57
Бля... "ну так выдели" - видимо подходящий ответ.
Задай уже вопрос :)

Sergey
11.09.2017
13:33:22

Dmitry
11.09.2017
13:36:49
чую вопрос "а как это все сделать", хехе ;)

Oleg
11.09.2017
13:40:54
Уже придумал решение)
п.с. Нужно было разбить приложение на модули


Leonid
11.09.2017
14:25:01
Добрый день! У кого есть опыт с долгими фоновыми задачами на php и асинхронностью, подскажите пожалуйста, насколько оптимально решение, которое у меня сейчас сформировалось.
Задача - запускать из браузера фоновую задачу, она состоит из нескольких этапов - забрать данные из api, выкачать и заресайзить картинки, обновить на основе данных api данные в бд, на всех этапах клиенту в браузер должен идти лог того, что происходит по всем задачам. Внутри каждого этапа обработки желательно иметь несколько процессов которые параллельно выполняют одну и ту же операцию над разными наборами данных, т.е. что-то вроде пайпа.
Решение пока слепил такое - клиент общается с сервером через вебсокет, вебсокет-сервер на php, занимается только отправкой/приемом запросов и ничем больше, с вебсокет-сервером через zeromq по ipc:// общается еще один демон (принимает команды на запуск задач и передает логи выполнения обратно), этот демон асинхронно запускает через symfony/process консольные скрипты на php каждый из которых выполняет маленькую часть задачи, затем ждет когда они все выполнятся, собирает с них вывод и запускает пачку скриптов следующего этапа передав им результат предыдущего например в stdin, и так до победного. Насколько такой подход верный? Можно ли сделать лучше?


Ilya
11.09.2017
14:26:15
Добрый день! У кого есть опыт с долгими фоновыми задачами на php и асинхронностью, подскажите пожалуйста, насколько оптимально решение, которое у меня сейчас сформировалось.
Задача - запускать из браузера фоновую задачу, она состоит из нескольких этапов - забрать данные из api, выкачать и заресайзить картинки, обновить на основе данных api данные в бд, на всех этапах клиенту в браузер должен идти лог того, что происходит по всем задачам. Внутри каждого этапа обработки желательно иметь несколько процессов которые параллельно выполняют одну и ту же операцию над разными наборами данных, т.е. что-то вроде пайпа.
Решение пока слепил такое - клиент общается с сервером через вебсокет, вебсокет-сервер на php, занимается только отправкой/приемом запросов и ничем больше, с вебсокет-сервером через zeromq по ipc:// общается еще один демон (принимает команды на запуск задач и передает логи выполнения обратно), этот демон асинхронно запускает через symfony/process консольные скрипты на php каждый из которых выполняет маленькую часть задачи, затем ждет когда они все выполнятся, собирает с них вывод и запускает пачку скриптов следующего этапа передав им результат предыдущего например в stdin, и так до победного. Насколько такой подход верный? Можно ли сделать лучше?
rpc
точка входа может дожидаться пока выполнятся все процедуры, собрать все из очередей и выдать ответ


Alexander
11.09.2017
14:29:23
Сервер очередей не лучше использовать?

Leonid
11.09.2017
14:30:15
А как всю цепочку собрать вместе потом?


Sergey
11.09.2017
14:33:36
Добрый день! У кого есть опыт с долгими фоновыми задачами на php и асинхронностью, подскажите пожалуйста, насколько оптимально решение, которое у меня сейчас сформировалось.
Задача - запускать из браузера фоновую задачу, она состоит из нескольких этапов - забрать данные из api, выкачать и заресайзить картинки, обновить на основе данных api данные в бд, на всех этапах клиенту в браузер должен идти лог того, что происходит по всем задачам. Внутри каждого этапа обработки желательно иметь несколько процессов которые параллельно выполняют одну и ту же операцию над разными наборами данных, т.е. что-то вроде пайпа.
Решение пока слепил такое - клиент общается с сервером через вебсокет, вебсокет-сервер на php, занимается только отправкой/приемом запросов и ничем больше, с вебсокет-сервером через zeromq по ipc:// общается еще один демон (принимает команды на запуск задач и передает логи выполнения обратно), этот демон асинхронно запускает через symfony/process консольные скрипты на php каждый из которых выполняет маленькую часть задачи, затем ждет когда они все выполнятся, собирает с них вывод и запускает пачку скриптов следующего этапа передав им результат предыдущего например в stdin, и так до победного. Насколько такой подход верный? Можно ли сделать лучше?
ну как минимум websocket сервер на php это проигрыш
https://github.com/fanout/pushpin
вот например поприкольнее вариант
а так... паблишишь задачу в очередь, пишешь лог пушами в сокеты, профит
ну или можно писать лог в базу и потом пулить, но хэзэ


Leonid
11.09.2017
14:35:34
Да, тут я понимаю подводные камни, но в данном случае это пет проджект и стабильность вебсокет сервера для меня последний приоритет, у него будет один клиент - я. Интересует именно грамотное построение асинхронного пайпа обработки данных в фоне на php.

Sergey
11.09.2017
14:35:35
другой вариант - centrifugo вместо websocket-тов на php
я бы этот делал через очереди и воркеры
+ логгер с драйверовм в сокеты
просто, быстро, легко скейлить

Google

Sergey
11.09.2017
14:36:54
для сокетов я лично беру centrifugo
у него есть история, на случай обрыва соединения например
так что чуть что часть лока можно было бы выгрести

Leonid
11.09.2017
14:37:25
А какую библиотеку можете для воркеров посоветовать? И вопрос по zeromq - им кто-то вообще пользуется нынче? Недавно познакомился, очень понравилось, но все статьи как-то пылью уже покрылись слегка

Sergey
11.09.2017
14:38:58
zeromq - хорошая штука для реализации взаимодействия между процессами
но это не очередь
> но все статьи как-то пылью уже покрылись слегка
так если все уже написано то зачем что-то еще?
> А какую библиотеку можете для воркеров посоветовать?
не понимаю о чем ты и зачем тебе отдельная библиотека для воркеров. Меморилики детектить или чего?

Dmitry
11.09.2017
14:42:00
zeromq все же очередь, просто которая не занимается вопросами гарантии исполнения

Dmitriy
11.09.2017
14:43:35
http://kr.github.io/beanstalkd/

Dmitry
11.09.2017
14:44:07
а так в общем архитектура верна - легкая точка входа, которая занимается только IO между клиентами и сервером очередей, сам сервер очередей и воркеры.

Dmitriy
11.09.2017
14:44:18
если я правильно понял то может помочь этот компонент
https://symfony.com/doc/current/components/workflow.html

Leonid
11.09.2017
14:46:52
Я возможно неверно представляю как работать через очередь, но в моем прелставлении это вокеры должны крутиться постоянно и разбирать из нее новые задачи и сами запускать новые задачи с результатами своей работы. Мне же хочется немного по другому:
1) воркеры запускались только по требованию и умирали после выполнения задачи, т.к. у меня их много разных
2) не знали вообще ничего о топологии всей задачи, т.е. не запускали сами задачу следующего этапа, чтобы можно было строить цепочку как угодно
3) не хранить нигде промежуточные результаты а стримить напрямую из одного процесса в следующий

Борис
11.09.2017
14:47:01

Dmitriy
11.09.2017
14:47:40
что собственно следует из ее названия )

Dmitry
11.09.2017
14:48:23
Ну смотря что называть сеовером очередей ;) Хз, не вникал есть ли формализованное определение. Но внутри mq есть очеред поступивших сообщений, которая раскидывается дальше по мере доступности получателей.

Борис
11.09.2017
14:48:47
хочешь делай из него сервер, хочешь не делай.... это уже от вашей фантазии извращенной зависит. Вот слайд номер 3 c homepage zeromq https://image.slidesharecdn.com/imatix-0mq-dec-2011-111201124304-phpapp02/95/overview-of-zeromq-3-728.jpg?cb=1322744263

Google

Serge
11.09.2017
14:56:08
всем привет. посоветуйте пожалуйста "хостинг" для symfony 3. Надо redis/rabbitmq/postgresql/php7.1

Антон
11.09.2017
14:58:27
сервак лучше взять себе
нафига хостинг?

Serge
11.09.2017
14:58:53
ну хостинг в ковычках)

Dmitriy
11.09.2017
14:59:03
Да любую впску

Serge
11.09.2017
14:59:04
думал взять хероку, но там какие-то цены %)

Dmitriy
11.09.2017
14:59:08
и настраивай как хочешь

Vladimir
11.09.2017
14:59:23

Sergey
11.09.2017
15:09:32

Яўген
11.09.2017
15:11:44
может у кого згнакомые верстаки есть, которые лендинг по божеским расценкам сверстают?

Антон
11.09.2017
15:15:19
качество не очень пойдет?
совсем не очень, но дешево

Yurij
11.09.2017
15:16:01
или начинающих) ну у них собсна не очень то и получается обычно

Яўген
11.09.2017
15:20:24
и я хочу чтоб получилось

Igor
11.09.2017
15:30:34

Pavel
11.09.2017
19:43:40

Oscarhandsome
12.09.2017
01:25:52

Mofsy
12.09.2017
01:28:10
Только помни что 255 символов максимум!

Google

Oscarhandsome
12.09.2017
01:30:04
:))

Arky
12.09.2017
05:19:37
Здравствуйте. Хочу научится кодить на пхп. И в будущем работать веб девелопером. Какие материалы посоветуете? И есть ли сайт с заданиями(проектами) для практики реальной пхп разработки. Спасибо.

Ivan
12.09.2017
05:22:16
Материалов много в интернете, практика - тоже не проблема. Погнали вместе учиться?

Антон
12.09.2017
05:22:50
Постоянно пиши код. Только читать без смысла

Ivan
12.09.2017
05:26:00
Мой генератор идей не дремлет, задач полно

Андрэ
12.09.2017
05:27:05
Генератор идей это одно, а читать чужой код это несколько другое. Это прям полезно

Ivan
12.09.2017
05:28:08
Никто не отменяет комплексный подход к саморазвитию, в реальных проектах столько чужого кода, как говорится, нет предела совершенству