Как реализовать отложенный запуск очередей в Rabbit?

|
zmurf 2022-07-04 11:14:24
Teslahack1 2022-07-04 11:11:00

открой в ctrl u и заскринь эту строку

bubaololo 2022-07-04 11:21:31
opekunov 2022-07-04 10:13:19
Я roadrunner-laravel использую, аналог octane

не течёт? Ссожно было перейти?

opekunov 2022-07-04 11:22:48
bubaololo 2022-07-04 11:21:31
не течёт? Ссожно было перейти?

Там если базовые правила соблюдать, все норм будет.

Пару недель разбирался, но у них в дискорде канал, там вопросы задавать можно.

Плюс быстро реагируют на issue

kafkianskiy 2022-07-04 11:23:26
bubaololo 2022-07-04 11:21:31
не течёт? Ссожно было перейти?

Что там должно течь, интересно

bubaololo 2022-07-04 11:24:03
kafkianskiy 2022-07-04 11:23:26
Что там должно течь, интересно

Всё что не рассчитывало что оно будет висеть в оперативе а не умирать после каждого запроса

hardcoder10 2022-07-04 11:24:04
Как реализовать отложенный запуск очередей в Rabbit? Без duration
kafkianskiy 2022-07-04 11:25:10
hardcoder10 2022-07-04 11:24:04
Как реализовать отложенный запуск очередей в Rabbit? Без duration

dead letter queue/delayed exchange

opekunov 2022-07-04 11:25:42
kafkianskiy 2022-07-04 11:23:26
Что там должно течь, интересно

Память)

kafkianskiy 2022-07-04 11:28:54
bubaololo 2022-07-04 11:24:03
Всё что не рассчитывало что оно будет висеть в оперативе а не умирать после каждого запроса

Даже если там все сервисы будут синглтонами и не будут рефрешиться каждый запрос, там ничего течь не будет, если не копить в этих сервисах стейт. А стейт по умолчанию никто не копит, даже в умирающем приложении (ну либо интересно посмотреть на кейсы, когда стейт надо копить в ларавеле).

Teslahack1 2022-07-04 11:30:58
laravel_pro-579232.jpg

Teslahack1 2022-07-04 11:31:16
zmurf 2022-07-04 11:14:24
открой в ctrl u и заскринь эту строку

Скинул

bubaololo 2022-07-04 11:31:45
kafkianskiy 2022-07-04 11:28:54
Даже если там все сервисы будут синглтонами и не будут рефрешиться каждый запрос, там ничего течь не будет, если не копить в этих сервисах стейт. А стейт по умолчанию никто не копит, даже в умирающем приложении (ну либо интересно посмотреть на кейсы, когда стейт надо копить в ларавеле).

у меня например и без стейта скрипт для генерации картинок забивал память и падал, потому что объекты создавались и не уничтожались

kafkianskiy 2022-07-04 11:33:50
bubaololo 2022-07-04 11:31:45
у меня например и без стейта скрипт для генерации картинок забивал память и падал, потому что объекты создавались и не уничтожались

Звучит как косяк либы, но да, такое возможно. Но если таких косяков не будет, то по умолчанию ничего течь не должно. У нас довольно долго в проде amphp и память константная (12mb), хотя есть синглтоны

kafkianskiy 2022-07-04 11:34:16
Даже счетчики в оперативе для прометеуса держим
bubaololo 2022-07-04 11:35:13
kafkianskiy 2022-07-04 11:33:50
Звучит как косяк либы, но да, такое возможно. Но если таких косяков не будет, то по умолчанию ничего течь не должно. У нас довольно долго в проде amphp и память константная (12mb), хотя есть синглтоны

ну и это не я придумал, сам тейлор говорит что это большая проблема и они с ней долго боролись\борютя и что при переходе на этот способ нужно учится писать пхп по другому

kafkianskiy 2022-07-04 11:35:58
bubaololo 2022-07-04 11:35:13
ну и это не я придумал, сам тейлор говорит что это большая проблема и они с ней долго боролись\борютя и что при переходе на этот способ нужно учится писать пхп по другому

Ну неудивительно, они сами эти проблемы и создали (фасады, кэши в моделях, etc).

bubaololo 2022-07-04 11:39:06
kafkianskiy 2022-07-04 11:35:58
Ну неудивительно, они сами эти проблемы и создали (фасады, кэши в моделях, etc).

Q&A With Taylor OtwellYouTube
Help us test our new streaming setup and learn more about Laravel founder Taylor Otwell.

Have a question for Taylor? Leave a video message here with your question!

https://zipmessage.com/baefsgzm

bubaololo 2022-07-04 11:39:20
с таймкодом где про это говорит
bubaololo 2022-07-04 11:41:40
https://www.youtube.com/watch?v=2HAGlULliyI

Swoole: проблемы и использование в продакшене [rus] / Александр ВронскийYouTube
Видео с конференции PHP fwdays’21, которая прошла 4 сентября 2021 года.

Описание доклада:
Практика использования Swoole экосистемы и миграция реального проекта маркетплейса из стандартного подхода на асинхронный. Какие бенефиты мы получили и с какими проблемами столкнулись в процессе с использованием стека технологий — PHP8, Postgresql, Redis, RebbitMQ, Doctrine, coroutines / fibers, concurrency HTTP Server.

Страница доклада:
https://fwdays.com/event/php-fwdays-2021/review/swoole-double-troubles-in-production

Больше докладов и видео по теме конференции:
https://fwdays.com/event/php-fwdays-2021

Fwdays более 10 лет занимается организацией масштабных конференций для разработчиков таких направлений: JavaScript, .Net, Python, Data Science, PHP, QA, Highload, Architecture, DevOps, Databases.

Больше информации про актуальные события:
https://fwdays.com/events

Подписывайтесь, чтобы первыми узнавать про старт продаж билетов по самой выгодной цене:
Facebook: https://www.facebook.com/fwdays
Twitter: https://twitter.com/fwdays
Telegram: https://t.me/phpfwdays

bubaololo 2022-07-04 11:42:11
ну и по опыту этого чела всё нифига не изи
eedxcc 2022-07-04 12:03:06
Как правильно разбить логику в Laravel ( Используя патерны и тд…), что бы все не было в котроллере
MrD1rk 2022-07-04 12:03:51
eedxcc 2022-07-04 12:03:06
Как правильно разбить логику в Laravel ( Используя патерны и тд…), что бы все не было в котроллере

Middleware->Controller->Service->Repository->Model
поправьте если ошибаюсь

Adelf32 2022-07-04 12:04:33
MrD1rk 2022-07-04 12:03:51
Middleware->Controller->Service->Repository->Model
поправьте если ошибаюсь

репозитори… когда вы блин отучитесь втупую повторять за недоблоггерами

vprikalab 2022-07-04 12:06:13
Adelf32 2022-07-04 12:04:33
репозитори… когда вы блин отучитесь втупую повторять за недоблоггерами

Можете привести аргументы почему репозитории плохи?

sorax_19 2022-07-04 12:06:31
MrD1rk 2022-07-04 12:03:51
Middleware->Controller->Service->Repository->Model
поправьте если ошибаюсь

яке є обгрунтування, щодо використання репозиторіїв?) репозиторії задля репозиторіїв?))

eedxcc 2022-07-04 12:06:46
MrD1rk 2022-07-04 12:03:51
Middleware->Controller->Service->Repository->Model
поправьте если ошибаюсь

Спасибо

Adelf32 2022-07-04 12:06:51
sorax_19 2022-07-04 12:06:31
яке є обгрунтування, щодо використання репозиторіїв?) репозиторії задля репозиторіїв?))

дружище, мы тут по-русски гвоорим. я тебя не понимаю…

sorax_19 2022-07-04 12:07:22
сейчас переведу)
Adelf32 2022-07-04 12:07:32
vprikalab 2022-07-04 12:06:13
Можете привести аргументы почему репозитории плохи?

https://habr.com/ru/post/444688/

Пожалуйста, прекращайте говорить про шаблон Репозиторий с EloquentХабр
Я регулярно вижу статьи в стиле «как использовать шаблон Репозиторий с Eloquent» (одна такая попала в недавний PHP-дайджест). Обычное содержание их: давайте созд…
sorax_19 2022-07-04 12:07:45
какой смысл юзать репозитории?) репозитории ради репозиториев?))
trin4ik 2022-07-04 12:07:59
kafkianskiy 2022-07-04 11:35:58
Ну неудивительно, они сами эти проблемы и создали (фасады, кэши в моделях, etc).

php, жрущий память, это такой же единорог, как нода, не жрущая. разная архитектура, php процесс может умирать по памяти скорее от кривых рук. тогда как нода даже при ровных может не чистить мусор.

kafkianskiy 2022-07-04 12:09:00
trin4ik 2022-07-04 12:07:59
php, жрущий память, это такой же единорог, как нода, не жрущая. разная архитектура, php процесс может умирать по памяти скорее от кривых рук. тогда как нода даже при ровных может не чистить мусор.

Я об этом и писал выше. Не понимаю, какие там утечки памяти у пхп. Ощущение, что люди повторяют одну и ту же мантру, особо не понимая, о чем она.

Adelf32 2022-07-04 12:09:25
sorax_19 2022-07-04 12:07:45
какой смысл юзать репозитории?) репозитории ради репозиториев?))

во! теперь я могу лишь согласиться) но только если речь идет об Элоквент

iaxel 2022-07-04 12:10:27
Adelf32 2022-07-04 12:07:32
https://habr.com/ru/post/444688/

может сразу — ОРМ это антипаттерн?

Adelf32 2022-07-04 12:10:49
iaxel 2022-07-04 12:10:27
может сразу — ОРМ это антипаттерн?

нет. все всегда зависит от приложения

sorax_19 2022-07-04 12:10:57
Adelf32 2022-07-04 12:09:25
во! теперь я могу лишь согласиться) но только если речь идет об Элоквент

ну естественно, использовать паттерн репозиторий, который будет возвращать eloquent модель — ну такое себе, только усложнение идет😎

Adelf32 2022-07-04 12:11:04
не надо лепить охереть какую крутую архитектуру для простого крада
trin4ik 2022-07-04 12:11:11
Adelf32 2022-07-04 12:09:25
во! теперь я могу лишь согласиться) но только если речь идет об Элоквент

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

myazinds 2022-07-04 12:11:13
vprikalab 2022-07-04 12:06:13
Можете привести аргументы почему репозитории плохи?

Как минимум потому, что eloquent, по сути, и есть репозиторий

vprikalab 2022-07-04 12:11:35
Eloquent скорее реализует анти паттерн active record
Adelf32 2022-07-04 12:11:45
trin4ik 2022-07-04 12:11:11
это, наверно, и есть самый правильный аргумент. модели позволяют гибко и удобно описать структуру, репы не так нужны, как в других фреймворках, т.к. есть олицетворением таблиц

нет. элоквент слишком завязан на бд, а репозиторий должен эту связь как бы отвязать. не получится

kafkianskiy 2022-07-04 12:12:22
vprikalab 2022-07-04 12:11:35
Eloquent скорее реализует анти паттерн active record

С каких пор эктив рекорд – это анти паттерн?

vprikalab 2022-07-04 12:13:14
kafkianskiy 2022-07-04 12:12:22
С каких пор эктив рекорд – это анти паттерн?

Active Record pattern (or anti-pattern) – overview

Active Record pattern (or anti-pattern) — overview — Karol DąbrowskiKarol Dąbrowski
Active Record is one of the most controversial architectural patterns with many supporters and opponents. Some people even call it the anti-pattern. Despite this, it is very common in many…
iaxel 2022-07-04 12:13:25
sorax_19 2022-07-04 12:10:57
ну естественно, использовать паттерн репозиторий, который будет возвращать eloquent модель — ну такое себе, только усложнение идет😎

eloquent разве не репозитории?

trin4ik 2022-07-04 12:13:30
Adelf32 2022-07-04 12:11:45
нет. элоквент слишком завязан на бд, а репозиторий должен эту связь как бы отвязать. не получится

у меня не получается отвзязать модель от mysql из-за кастомных примесей, типа работы с геометрией. но оно и не нужно. не устану повторять мысль, что мы все любим лару не за паттерны, а за сахар

MrD1rk 2022-07-04 12:13:36
eedxcc 2022-07-04 12:06:46
Спасибо

Погоди, мой ответ не является верным.По сути сам видишь холивар)
Ну все зависит от изощрений и требований.

sorax_19 2022-07-04 12:13:45
iaxel 2022-07-04 12:13:25
eloquent разве не репозитории?

нет, не репозиторий

iaxel 2022-07-04 12:14:06
sorax_19 2022-07-04 12:13:45
нет, не репозиторий

почему?

sorax_19 2022-07-04 12:15:45
iaxel 2022-07-04 12:14:06
почему?

вы почитайте определение «паттерн репозиторий» и поймете) eloquent это орм

trin4ik 2022-07-04 12:16:09
iaxel 2022-07-04 12:14:06
почему?

модель используют для описания структуры и её валидации, но не работу с ней. логику выносят в сервисы или те же репозитории. но это скорее привычка. по сути вы правы, т.к. модель транслирует методы типа create/update и ивенты, но это скорее золотая середина

|