
Evgeniy
13.06.2017
08:01:00
еще есть готовый модуль в nginx для такого
вместо ffmpeg модуль rtmp можно юзануть

Alexander
13.06.2017
08:04:10
Спасибо!

Evgeniy
13.06.2017
08:10:04
я так понимаю

Google

Evgeniy
13.06.2017
08:10:13
можно на ffmpeg перекодировать
а rtfmp чтобы паралелить этот поток

Aleh
13.06.2017
08:10:29

Evgeniy
13.06.2017
08:10:36
на nginx

Vladislav
13.06.2017
08:17:47
я использовал nginx-rtmp для видеотрансляций
он умеет RTMP (для тех у кого флеш) и HLS
ffmpeg тоже может пригодиться - для захвата потока с камеры
вот моя статейка https://habrahabr.ru/post/174089/
только в 2017 году jwplayer не канает, лучше video.js

$iD
13.06.2017
08:26:59
да говно( про ISP плохо рассказал, настолько плохо что никто не понял
ты просто привёл пример который плохо мапится.
у тебя в любом случае на каком-то уровне будет условие с instanceof exchangeInterface... т.к. (по твоему примеру у bonus нет exchange)
если же дёрнуть класс без exchange то вывалится рантайм (про который ты говорил), но при этом надо будет ловить эксепшены
ну короче, ты нам (на афтэпати) не объяснил как избежать этого :)

Sergey
13.06.2017
09:03:33
ну мол там где есть обмен не нужны математические операции
то есть ты на вход будешь принимать только Exchangable. А там где нужны деньги - только Money.

$iD
13.06.2017
09:04:38

Sergey
13.06.2017
09:04:41
и косяки тут ловятся статическими анализаторами

Google

Sergey
13.06.2017
09:05:26
:D в этом случае конечно и вопросов нет
тут идея в том что интерфейсы плодить надо исходя из задачи которые требуется решить. Интерфейсы должны быть неделимыми, ибо они представляют поведение. Если ты можешь их разделить в соответсвии с тем какое поведение где требуется - стоит так сделать
конкретно на моих проектах ни разу небыло такого что нужно одновременно Merchant и User к примеру, или Exchangable и Money

$iD
13.06.2017
09:06:18
да про isp понятно... не понятно было из твоего примера, т.к. некоторые моменты были опущены

Sergey
13.06.2017
09:06:19
ВОЗМОЖНО можно придумать кейс при котором надо будет что-то эдакое, но это решается еще одним интерфейсом
забыл(
я это понял когда меня на эту тему 3 человека спросили
и то первый чел (который из зала) - я не сразу далеко понял что он от меня хотел

$iD
13.06.2017
09:08:19
ну он немного мутно изложил мысль

Sergey
13.06.2017
09:08:34
настолько же мутно насколько я изложил ISP)
так что все честно

Rail
14.06.2017
07:03:48
Господа, возникла необходимость в асинхронном php. Короче суть такова - сервер приложения должен висеть в памяти, принимать некоторые POST-данные и запускать таски на их обработку.
Подскажите годится ли для этих целей reactphp?

Evgeniy
14.06.2017
07:04:28
учитывай что это экспериментальная штука
но наверно должна уже работать

Rail
14.06.2017
07:06:29
да вот есть мысль взять для этих целей вообще не php, но на php уже есть более-менее работающее решение
проблема в скорости работы и в обработке параллельных запросов)
по сути нужна пепяка которая принимает некие POST-данные в среднем мегабайта на 2 каждое, запускает конвертер, потом отправляет в стороннее API, дожидается ответа и возвращает ответ клиенту.
Пока мысли только две - добавить сервер очередей или заюзать асинхронный php

(;¬_¬)
14.06.2017
07:09:10
а чем очереди не угодили?

Danil
14.06.2017
07:09:58
мне кажется, твой конвертер в пхп-демоне будет всё блокировать

Google

Danil
14.06.2017
07:10:13
поэтому я бы в сторону очередей посомтрел

Evgeniy
14.06.2017
07:10:30
для такого кейса очередь имхо самое то

Rail
14.06.2017
07:11:32
с очередями просто не работал ни разу, но тоже склоняюсь к этому варианту

(;¬_¬)
14.06.2017
07:13:09
а что там работать. сервер очередей запускаешь, либу подключаешь и пихаешь в нее, а потом в кроне вызываешь обработчик... ну это так... в теории =)

Rail
14.06.2017
07:15:52
ну это получится что раз в секунду надо дергать скрипт, с одной стороны это не так быстро получается, а с другой столько лишних запусков впустую
хм.. а если просто воркеров наплодить которые будут в памяти висеть и ждать в очереди новые события?
то есть сделать несколько типов воркеров - одни для конвертера, другие для общения со сторонним API и т.д
и еще воркеры которые будут клиенту ответы слать

Evgeniy
14.06.2017
07:21:37
есть уже готовые сервера очередей не на пхп
он сидит в памяти и ждет задачи
как только есть задача он стартует команду например пхп для обработки задачи
и ты там настрайваешь сколько задач одновременно можно выполнять и тд

Kirill
14.06.2017
07:47:38
Угу. Например, Gearman
https://ruhighload.com/index.php/2010/07/09/gearman-%D0%B8-php-%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8/
Или заюзать возможность писать неблокирующий код с помощью оператора yield, если это применимо (в суть задачи не вникал)

Rail
14.06.2017
07:50:25
о, вот это еще интереснее, спасибо!
Кстати, что то никак не могу найти вариант который будет сам запускать воркеры

Alexandr
14.06.2017
08:02:03
https://daredevel.com/2013/06/php-jobs-with-gearman-and-supervisor/

Evgeniy
14.06.2017
08:04:08
сейчас помимо supervisor можно прямо в systemd авто подьем и тд делать
но супервизор популярная штука

Google

Dmitriy
14.06.2017
08:07:43
герман же труп или нет?

fso
14.06.2017
08:07:55
нет. вполне рабочий, используем.

Admin
ERROR: S client not available

fso
14.06.2017
08:08:53
помоему единственная вещь, где можно легко получить результат выполненной воркером задачи

Dmitriy
14.06.2017
08:12:39
насколько я знаю в германе если воркер завис то задачи пропадут в небытие

fso
14.06.2017
08:13:19
нет. настраивается. задача лочится, выполненной она будет если отправишь ответ об этом.
не отправишь - не пропадет

Dmitriy
14.06.2017
08:13:48
оо прикольно
надо будет пощупать

Sergey
14.06.2017
08:16:28

Dmitriy
14.06.2017
08:16:57
хм.. последний комит 23 мая.. а я думал проект затух

Daniel
14.06.2017
08:22:18
Кто нибудь имеет у себя парсер DBF файлов ФИАС-а (бывш КЛАДР)?
https://github.com/Yuego/django-fias
Попоробую это заюзать кнеш
А не, это не консольная команда, а целый модуль со своими миграциями

Denis
14.06.2017
08:27:39

Daniel
14.06.2017
08:28:14

Javharbek
14.06.2017
10:33:51
Кто нибуть знает как из OpenCart в Bitrix экспортировать товары. Подскажыте пожалуйста.

Yushkevich
14.06.2017
13:15:59

Дмитрий Джек
14.06.2017
13:40:45
кто-нибудь работал с api amocrm? Как там сделать выборку по кастомному полю. т.е. допустим есть кастомное поле ИНН, нужно получить контакт с искомым ИНН

Google

Varyen
14.06.2017
14:06:31

Дмитрий Джек
14.06.2017
14:07:35
да, он ищет везде, а у себя перебирать результаты не оч хочется, думал может есть какой поиск по кастомным полям

Varyen
14.06.2017
14:07:42
я бы посоветовал повесить внешний хук на изменения и хранить у себя копии контактов и сделок в удобном формате
не, там нормально только выборка по id работает)

Дмитрий Джек
14.06.2017
14:08:31
дублировать нехочу, придется знач у себя перебирать

Varyen
14.06.2017
14:08:52
ну или спроси у суппорта, они быстро отвечают
но в апи такого нет вроде как
хотя смотря что ты пишешь, конечно

Дмитрий Джек
14.06.2017
14:23:50
хотя смотря что ты пишешь, конечно
магазин, там не все контакты от магаза, будет много лишних обращений к сайту из-за хуков. Кароч придется искать через query и проверять.

Sergey
14.06.2017
14:25:58
https://segment.com/blog/a-brief-history-of-the-uuid/

Roquie
14.06.2017
20:47:33