Dmitrii
Я тебя наверно неправильно понял.
Roman
Привет! Вопрос по архитектуре классов в системе уведомлений. Есть классы, описывающие сообщение определённого типа (смс, почта, телеграм), создаём новый объект сообщения, серилизуем и кладём в очередь. С другой стороны его восстанавливают, смотрят какой хэндлер может его обработать и передают подходящему. Далее интереснее. Например, смс. Оно может быть отправлено различными сервисами, смотря кто работает в данный момент. Мы создаём два хэндлера одинакового типа, но с разными сервисами отправки, первый получивший сообщение, пытается его отправить, если получается, завершаем. Если нет, то применится следующий подходящий хэндлер с другим сервисом. У разных сервисов отправки смс, разный функционал. Например, первый может проверять статус смс, а второй - нет. Но ни хэндлер, ни сообщение не знают что умеют сервисы. Потом у нас есть список отправленных сообщений и нужно показать кнопку Проверить статус, только у тех, которые были отправлены сервисом, имеющим функцию проверки доставки (реализующим соответсвующий интерфейс). Как правильно сделать такую связь?
не совсем понял о какой связи речь?
Oksana
закладки делать?
ай яй яй) как нехорошо)
Dmitriy
VideoManager
из названия не понятно что он делает
The Ant
blabla\model\actions\BookDelete ? какой таким неймспейс дать?
Dmitry
не совсем понял о какой связи речь?
Перед отправкой сообщения в очередь, я хочу его сохранять в базу mysql, чтобы иметь возможность посмотреть кому и что было отправлено. Связь - между этим сообщением и тем какой сервис его отправил
Roman
вообще лучше в бд писать при чтении из очереди так оно будет в фоне работать
Roman
у меня некоторые задачи порождают еще задачи в очереди и читают между собой результаты ) звучит не оч но так надо )
Dmitry
вообще лучше в бд писать при чтении из очереди так оно будет в фоне работать
Хорошо, допустим я пишу в базу при чтении из очереди. А что лучше записывать? Серилизованный объект сообщения (они разных типов могут быть) или как-то их унифицировать и писать по столбцам? В одном случае получатель это адрес почты, в другом - номер телефона
The Ant
и все это в лог, а не в базу )
Roman
можно еще журнал очеедей сделать название очереди | сервис | дата отправки | дата получения | что то еще
Roman
тут как фантазия разгуляется )
The Ant
логи собирать за некоторый период и зипать
The Ant
чтобы когда парни с фсб придут, ты такой опля - держите )
Roman
и все это в лог, а не в базу )
я бы в бд бд мона к админке прикрутить и поискраться с фильтрами
Roman
опять же от задач зависит
Dmitry
это уже как вы захотите я бы писал id клиента | текст сообщения |l дата отправки | сатус отправки ну и ченить еще )
бывает, что статус отправки сразу не прочесть - например сообщение ушло в сторонний сервис, а там задержалось. Поэтому и хочу реализовать механизм проверки статуса сообщения по требованию. А для этого нужно знать у какого сервиса есть такая функция, а где нет
The Ant
в csv формат писать можно, потом легко развернуть в бд
Roman
в csv формат писать можно, потом легко развернуть в бд
чем бд плоха? в отдельную базу кинул и хер с ней
Dmitry
и все это в лог, а не в базу )
Лог это да, туда писать что-то техническое. А база - это для менеджеров, посмотреть что кому ушло
The Ant
чем бд плоха? в отдельную базу кинул и хер с ней
да ничем, зависит от количества народа наверное, пишуших сообщения
Roman
да ничем, зависит от количества народа наверное, пишуших сообщения
если это чатик то не стоит а если это системные задачи смски там сжималки рассылки и чет в фоне то чеб и нет
Roman
если нужно смотреть результат я бы в бд и админку сверху к всему этому
Dmitry
чем бд плоха? в отдельную базу кинул и хер с ней
В целом спасибо. Я перенесу сохранение сообщения на этап его обработки сервисом, там его сохраню уже зная кто именно его обработал. Название класса-сервиса будет, потом по нему смогу понять есть ли функция проверки статуса или чего ещё. Вроде выглядит нормально
The Ant
ктонить напомнит как называет штука на js, которая позволяет с сервера отправлять данные в клиент? Не сокеты, long polling... другая какая-то редкоиспользуемая.
Тенпеннай
вполне возможно, что эта штука не на js
Тенпеннай
сокеты и лонг поллинг точно к жс не относятся
The Ant
https://learn.javascript.ru/server-sent-events
The Ant
кажись оно
The Ant
я хз как это называется )
Roman
web push
The Ant
в общем закинуть длинную задачу с кнопки, и подождать пока завершится, прогресс бар прикрутить там какойнить. пойдет же?
The Ant
ваще в жс не понимаю ниче )
Roman
а
Roman
у nginx есть модуль progress чета там
Евгений
The Ant
прогрессбар будет зависеть от задачи. не просто так много где делают гифку loading
ну это само собой. нужно под конкретную задачу, чтоб с консоли не набирать каждый раз, а с админки клацнуть. Ну и потреница заодно
The Ant
в таких вещах )
A
Кто-нибудь сталкивался с блокировкой внешних HTTP запросов в Wordpress?
Евгений
кто где что блокирует
A
пытаюсь подцепить sms.ru/php Отвечает: Сообщение не отправлено. Код ошибки: 000. Текст ошибки: Невозможно установить связь с сервером..
Евгений
камменты жгут
Anonymous
есть у кого на примете сканер структуры сайта?
Anonymous
желательно в вебе
Screamie
Всем привет!
Тенпеннай
развелась куча каналов, разводящих лошков на покупку всяких курсов, ссылающихся друг на друга
Roman
а еще развелось куча каналов где эти курсы бесплатно лежат )
Тенпеннай
такое чувство, что все их содержимое состоит из а) рекламы, б) постов о продаже какого-нибудь говна
Тенпеннай
а еще развелось куча каналов где эти курсы бесплатно лежат )
а еще эти "курсы" были в журнале Хакер тысячалохматого года
Screamie
Php/C/C++ за один час - самое норм
Mr.
Мы же не роботы
Screamie
В свое время имел несчастье знакомиться с Yii2 по курсам Geekbrains, это было самой ужасной ошибкой в моей жизни)
Roman
а еще эти "курсы" были в журнале Хакер тысячалохматого года
есть и свежие и интересные, но смотреть некогда )
Roman
лучший курс это свой биз )
Roman
опыту вагон
John
В свое время имел несчастье знакомиться с Yii2 по курсам Geekbrains, это было самой ужасной ошибкой в моей жизни)
Чего? Я ничего не учил на гикбрэйнс, но знаю одного чувака, он там что-то учил, говорил норм
SarcasmIO
ну объективно брать платные курсы, еще и по Yii чот ну совсем не то
Roman
ну объективно брать платные курсы, еще и по Yii чот ну совсем не то
при наличие кучи примеров в инете и документаци неплохой ваще не понял зачем
Anonymous
я просто в шоке
Anonymous
от того сколько людей бэк апят свои базы в документики вконтакте
Anonymous
открыл первые 5
Anonymous
выташил 100+ емейлов
Anonymous
._.
Anonymous
ну дак 90% лежит открытыми((
Anonymous
10% кэшированы
Vladimir
Просто вбивай в поиске пароль/password и т.д.
Anonymous
вероятность конечно мала что совпадет с паролем от мыла
Anonymous
кому не лень потестить могу покидать
Anonymous
мне в падлу
Anonymous
)