Kirill
так что туда может влезть что-то ещё
Kirill
если это код воркера, конечно
Kirill
хотя хз, есть ли такое в мускуле
The Ant
есть
Павел
Ну если идти в сторону локов, то можно локи и не за счет БД ставить
Павел
Ну точнее не лока строк
Kirill
ну вот и получеается
SELECT * FROM tasks WHERE status <> completed ORDER BY created_at COUNT 1 FOR UPDATE SKIP LOCKED;
Павел
Но так или иначе мы решаем другую проблему)))
Павел
Т.е. тот же лок Муравью не поможет, этот лок решает проблемы одновременного выполннения задач и отхода от статуса proccessed
Kirill
Kirill
я ответил
The Ant
да это тоже говно решение, как по мне. Длинные транзакции это лишние дедлоки, которые надо хендлить.
закрытие транзакции не на том же экране это адский дебаг будет.
Павел
Kirill
The Ant
Павел
Павел
Можно сказать именно под этот процесс
Павел
Если это будет стандартный год энтити обжект, то какие нить паралельные процессы встанут
Павел
Так что соглашусь, что есть свои риски
The Ant
чем длиннее транзакция, тем больше вероятность поджечь себе же задницу
Kirill
так а что тебе мешает делать отдельный коннект на фетч таблицы задач
Павел
Kirill
Kirill
только вид сбоку
Павел
Просто попахивает))
Kirill
хз, как раз нормально всё
Павел
Опять же я может не совсем понял про коннект, как отдельный коннект поможет? Или речь про отдельную базу, таблицу?
The Ant
чет в дебри полезли )
Kirill
Kirill
так что все операции в рамках этой транзакции будут туда же улетать (в эту же транзакцию)
Kirill
поэтому чтоб держать транзакцию с локом задачи и работать в это время в другой транзакции без блокировок и используется отдельное соединение
Kirill
Павел
Павел
Где данные не только про обработку
Павел
The Ant
крч писать разные команды для разных процессов (залив, перезалив), и подписываться на ивенты
Ладна, спасибо.
Мб иссуйку закинуть про промисы? 😄
The Ant
как же не хочется строить бл вокруг мессенжера сраного
Павел
Сергей
можно еще в saveToStorage напрямую колбэк передать..но тоже такое себе
Павел
Т.е. передавать в асинхрон
$command->commands[] = new Command1()
$command->commands[] = new Command2()
И в хэндлере их синхронно выполнять через тот же мессенджер
The Ant
The Ant
По крайней мере решает задачу написать код на том же экране
Алексей
Доброго дня, подскажите пожалуйста, мне нужно инициировать объект параметрами для запроса, послать его(допустим через газл).
хочу всё это дело сделать сервисом, и в контроллере вызывать только пару методов сервиса.
вопрос в том, что как мне получить объект с конфигурацией в сервисе ? если правильно понял, то нужно создать отдельно фабрику-сервис, и её результат прокинуть в мой сервис.
Рассуждения и метод правильные или можно лучше/проще ?
Юра
Алексей
Какой имеено конфигурацией?
параметры тела запроса , на основании их, мне в ответе будет генерироваться нужная ссылка на внешнем сервисе
в контроллере хочу что то вроде $service->getGenerateUrl в итоге вызвать
Юра
Вопрос как передать конфигурацию в этот $service ?
Алексей
Юра
А симфони свежая?
Юра
Если свежая то можно например просто заинджектить в конструктор
https://symfony.com/blog/new-in-symfony-6-1-service-autowiring-attributes
Алексей
Юра
Можно заинжектить ParamaterBagInterface
Юра
и получать от туда параметры в конструкторе
Алексей
Юра
Либо вручную описать сервис с аргументами
Алексей
Алексей
Юра
просто в services.yml
services:
Some\Service:
arguments: [.....]
Алексей
Юра
Так лучше потому что параметер баг сложнее тестировать и неявно что там нужно
Юра
Если сложная конфигурция то либо factory, либо service configurators
Vlad
Алексей
Vlad
Чем ?
https://t.me/symfony_ru/70377
Vlad
то есть до рантайма не узнаешь есть ли этот параметр или нет
Юра
Юра
Напомню что можно определить сервис отдельно для какого энва через
when@dev, если например параметры разные и не хочется через parameters:
Юра
Только не помню есть ли это в 5
Юра
Мне кажется js уже вышел из под контроля
Юра
Это не нормально когда 16гиг памяти на ноуте не хватает чтобы запустить ide и сбилдить фронт )
Юра
Да реально 16 гиг уже не хватает
Dmitriy
хз чо у вас там пооткрыто, мне 16гигов на бубунте заглаза хватает
Павел
Поидее утечка композера давно решена. На сам пых вроде хватает. А вот на проект в целом может и не хватать. Всякие эластики, воркеров куча.
Юра
Да локальный дев энв съедает кучу памяти еще
Юра
Ну не кучу но всего понемногу и получается что 16гиг не хватает
The Ant