Eshently
английская версия легче читается и понимается I need implement basic scraping websites.I don't steal data. It's just tech task for get offer. So, I worring with app performance, 'cause I have to implement multiple requests to different websites and get data from them and return back it as json or array all in the one collection. So my question about parallel jobs. Performing multiple tasks at the same time, plus waiting for the last request
Eshently
I hope I can explain myself clearly.
Eshently
So, any advice, tutos or anything that might tell me what to do...
Sander
Всем привет, помогите пожалуйста разобраться, как сделать чтоб выводилась кастомная 404 ошибка, при помощи twig templates, читал документацию, пробовал разные варианты - но не получается настроить, продолжает подсасывать twig шаблоны из vendor-а.
Alexander
https://symfony.com/doc/current/controller/error_pages.html Все проще простого
Sander
Вешаешь слушатель на событие KernelEvents::EXCEPTION, проверяешь, что пришла 404 ошибка, переопределяешь респонс своим, где рендеришь ошибку. Работает безотказно.
я сделал лучше ) просто создал класс`class ExceptionController extends TwigExceptionController` и перезаписал путь к twig шалонами, теперь из другого места берет шаблоны для ошибок. )
Sander
делюсь решением
Sander
https://pastebin.com/kkZKyFnS
Sander
https://pastebin.com/Zkw59c9x
Sander
https://symfony.com/doc/current/controller/error_pages.html Все проще простого
я это читал и не понял - что тут конкретно надо сделать, такое чувство что дока немного старая.
Sander
я перезаписываю текущие конфиги, а не добавляю какой-то дополнительный listener
Sander
Liskov Substitution Principle
Sander
но если я не прав, то я всегда готов принять критику в адрес своего кода,
Sander
как я понял он должен вообще сам подсасываться симфони,
Eshently
Асинхронный PHP Подскажите куды копать. Есть запрос от пользователя, на который нужно как можно скорее ответить. Бизнес логика такова что надо обращаться к третьей стороне, получить данные от нее, обработать их и отправить обратно их в виде одной коллекции. Второй день копаюсь в данной тематике, пока не пришел к решению. Как называется мой кейс, какие инструменты есть для этого и как лучше поступить? Стек: nginx, symfony, php7.1 Пока пришел к выводу что 1 Нужно разделить каждый запрос третьей стороне как подзадачу 2 дождаться ответа от всех подзадач 3 и отправить обратно ответ юзеру Для коллекции использовать какой-то storage (session, redis and etc. 🤔), конечный результат каждой подзадачи записывать в этот storage
kix
amphp как вариант, там и клиент, и сервер можно прикрутить
Eshently
Тебе уже ответили. Очереди.
окей, я просто хочу хорошо во всем это разобраться
Dmitriy
Имхо очереди
Eshently
Если третья сторона одна
их несколько может быть, каждая уникальна
Dmitriy
Флоу такой. - пользователь запросил контент - ты быстро создаешь ордер. И возвращаешь клиенту ид ордера. - при этом ложешь событие в очередь - крутится воркер который слушает события. - как только появилось событие, воркер походил по внешним источникам. - после успешного выполнения, воркер ставит статус ордеру комплетед. - клиент ходит каждые там 10-15 сек. Если увидел у ордера комплетед. Запрашивает полученные данные у сервера. Флоу *примерно* такой. Дальше все по ситуации
Dmitriy
На симфони
Dmitriy
Там вроде новый компонент мессенджер завезли. Можно попробывать в него
Eshently
Там вроде новый компонент мессенджер завезли. Можно попробывать в него
да, офф чате симфы тоже посоветовали посмотреть на него
Eshently
в общем, ребята большое спасибо за все предложения реально помогли разобраться во всем этом, теперь буду писать
Eshently
Посмотри в сторону промисов
да, уже реализую через них, плюс узнал новое
Dmitrij
Привет всем
Dmitrij
как кеши почистить в симфе ?
Dmitrij
php bin/console cache:clear
Dmitrij
не всё чистят
Dmitrij
где то какие то еще остаются
ILΨλ
я на проде так чищу bin/console cache:clear --env=prod --no-debug --no-warmup
Maks
юзеры погреют)
ILΨλ
так исторически сложилось :(
Dmitrij
удаляю, при этом очищается не весь кеш
Dmitrij
то есть только папка var/cache ?
Alexander
удаляю, при этом очищается не весь кеш
Не хватает прав скорее всего
Dmitrij
Не хватает прав скорее всего
та я на локале, прав хватает
ILΨλ
удаляю, при этом очищается не весь кеш
ты можешь сформулировать более понятно что именно не отчищается ? возможно это поможет
Dmitrij
ты можешь сформулировать более понятно что именно не отчищается ? возможно это поможет
подвязал либу Ботмана, и в нее прокинул SymfonyCache, и когда удаляю папку var/cache или делаю bin/console cache:clear , то диалог не очищается
Eshently
Доброго дня всем Я новенький в symfony, Как валидировать форму в беке, если мне не требуется база данных для проекта? То есть у меня нет никаких Entity После ларки все это непривычно и странно
Vadim
И при чем здесь база данных?
Eshently
И при чем здесь база данных?
ну entity связаны же с doctrine
Vadim
Да уж. Ладно. У форм есть метод configureOptions, где ты в в ключе data_class указываешь класс, на который мапить: public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Filter::class, ]); }
Кирилл
Ентити просто чего-то описывают. Они и понятия не имеют про базы данных.
Vadim
Ентити просто чего-то описывают. Они и понятия не имеют про базы данных.
У них там в ларке вездесущий эктив рекорд, так что неудивительно, что у них все связано с базой
Eshently
У них там в ларке вездесущий эктив рекорд, так что неудивительно, что у них все связано с базой
нет, не совсем, каждый реквест обрабатывает валидатор, он никак не связан с базой я просто не понял оказывается суть entity в симфе
Vadim
А тут что, по-твоему, запрос сразу в базу лезет? Тут то же самое. Учи концепции, а не фреймворки, в общем.
Eshently
А тут что, по-твоему, запрос сразу в базу лезет? Тут то же самое. Учи концепции, а не фреймворки, в общем.
> У них там в ларке вездесущий эктив рекорд, так что неудивительно, что у них все связано с базой я отреагировал на этот спич, ничего страшного если я ошибаюсь (страшно если кто-то примет это за истину )) мне нужно будет время чтобы со всем этим разобраться
Vadim
Eshently
я практически понял все остальное, только с валидацией и формами пока напряг а так ничего так, мне нравится что можно собирать и/или удалять ненужные компоненты
Eshently
Vadim
Как по мне, Assert\NotBlank() как-то надежнее, чем ['username' => 'required']
Eshently
Как по мне, Assert\NotBlank() как-то надежнее, чем ['username' => 'required']
не спорю, на вкус и цвет мне нужно будет переучиваться
Anonymous
Подскажите фильтр в твиг, чтобы не читал теги
Vadim
raw
Anonymous
Он на оборот их читатет
Vadim
Что значит "не читал теги"?
Maks
escape?
Anonymous
escape?
Ничего не изменило
Vadim
striptags
Ты сначала спроси, что он хочет. Он хочет, чтобы теги, которые есть на странице, не показывались и не применялись, т.е. вырезать их.
Maks
так стриптагс как раз про это)
Гречушников
Коллеги, помогите найти ошибку. Кеш чистил ./bin/console cache:clear есть сервис, я в него добавил две новых зависимости в аргументы locale_service: class: Framework\Src\Common\Service\Locale\Locale lazy: true public: true arguments: - '@locale_country_service' - '@locale_timezone_service' - '@locale_language_service' //— - '@locale_currency_service' //— но ловлю Type error: Too few arguments to function Framework\Src\Common\Service\Locale\Locale::__construct(), 2 passed in /framework/var/cache/Editor/dev/ContainerJxuo1wp/EditorDevDebugProjectContainer.php on line 4529 and exactly 4 expected не понимаю что с этим делать
Сергей
var/cache возможно со старыми данными
Гречушников
rm -R framework/var/cache/*