Size: a a a

2020 October 23

VS

Vladislav Soprun in symfony
Aleksey
Всем, привет! А кто-нибудь делал постоянное подключение к posgresql в симфони 5.1?
А что именно ты хочешь решить?
источник

A

Aleksey in symfony
У меня сейчас на каждый запрос происходит подключение к бд а я хочу pconnect
источник

ДК

Дмитрий Кожанов... in symfony
Ну идея PHP - запуститься, выполнить и сдохнуть. Поддержка соединения не входит в этот цикл. Но кажется pgBouncer тебе должен помочь
источник

DT

Dmitriy Tkachenko in symfony
Aleksey
Всем, привет! А кто-нибудь делал постоянное подключение к posgresql в симфони 5.1?
это не имеет смысла, т.к. на каждый запрос fpm создает отдельный тред, а после выполнения его убивает.
источник

DT

Dmitriy Tkachenko in symfony
вот если замоторить на RoadRunner
источник

СВ

Сергей Вершинин... in symfony
а может там RR ?)
источник

DT

Dmitriy Tkachenko in symfony
написать менеджер коннекшенов сверху
источник

В

Владимир in symfony
Мне кажется это имеет смысл если бд далеко и есть пинг. Так будет тратиться меньше времени на установление соединения.
источник

SP

Sergey Protko in symfony
Dmitriy Tkachenko
это не имеет смысла, т.к. на каждый запрос fpm создает отдельный тред, а после выполнения его убивает.
не тред а процесс, и не создает на каждый (зависит от настроек) а реюзает воркер процессы и киляет их каждые N запросов (настраивается).
источник

В

Владимир in symfony
если локально что-то уже держит соединение
источник

SP

Sergey Protko in symfony
Владимир
Мне кажется это имеет смысл если бд далеко и есть пинг. Так будет тратиться меньше времени на установление соединения.
есть всякие pgbouncer-ы и прочие прокси которые эти проблемы в целом решают.
источник

DT

Dmitriy Tkachenko in symfony
Sergey Protko
не тред а процесс, и не создает на каждый (зависит от настроек) а реюзает воркер процессы и киляет их каждые N запросов (настраивается).
это коротко. Процесс с одним тредом выполнения кода PHP чем принципиально отличается от просто одного треда?)
источник

A

Aleksey in symfony
Всем спасибо, пошёл думать и испытывать
источник

SP

Sergey Protko in symfony
Dmitriy Tkachenko
это коротко. Процесс с одним тредом выполнения кода PHP чем принципиально отличается от просто одного треда?)
тем что показывает безграмотность)
источник

DT

Dmitriy Tkachenko in symfony
Sergey Protko
тем что показывает безграмотность)
Both processes and threads are independent sequences of execution. The typical difference is that threads (of the same process) run in a shared memory space, while processes run in separate memory spaces.

Ну такое)) буквоедство
источник

A

Arky in symfony
Dmitriy Tkachenko
это коротко. Процесс с одним тредом выполнения кода PHP чем принципиально отличается от просто одного треда?)
он может висеть на миллион тредах)0
источник

SP

Sergey Protko in symfony
Dmitriy Tkachenko
Both processes and threads are independent sequences of execution. The typical difference is that threads (of the same process) run in a shared memory space, while processes run in separate memory spaces.

Ну такое)) буквоедство
php-fpm ничего с тредами не делает.
источник

AD

Andrey Dembitskyi in symfony
Dmitriy Tkachenko
это не имеет смысла, т.к. на каждый запрос fpm создает отдельный тред, а после выполнения его убивает.
не так.

UPD: отписали ниже, ок
источник

VS

Vlad Sobenko in symfony
Как красиво подружить lazy service и stream response?
Вообщем в контроллере отдается StreamResponse. Он идет по определенным сервисам и берёт из них части резпонса для стрима. В одном из этих сервисов юзается lazy load service. Тоесть он достается из контейнера, когда только до него дошла очередь. Ну а там при доставании некрасивое легаси, которые хочет поставить куку. В итоге получаю ошибку headers already sent(так как stream response уже поставил хедеры).
Решается доставанием lazy load service из контроллера и вызовом любого метода в самом начале, где он не нужен.
Но решение не очень, может как то покрасивше можно?
источник

КГ

Константин Грачев... in symfony
Vlad Sobenko
Как красиво подружить lazy service и stream response?
Вообщем в контроллере отдается StreamResponse. Он идет по определенным сервисам и берёт из них части резпонса для стрима. В одном из этих сервисов юзается lazy load service. Тоесть он достается из контейнера, когда только до него дошла очередь. Ну а там при доставании некрасивое легаси, которые хочет поставить куку. В итоге получаю ошибку headers already sent(так как stream response уже поставил хедеры).
Решается доставанием lazy load service из контроллера и вызовом любого метода в самом начале, где он не нужен.
Но решение не очень, может как то покрасивше можно?
А эта кука должна уйти в респонсе, или не обязательно?
источник