Pull to refresh
9
17
Михаил @balpom

ленивый компьютерщик

Send message

Пример своего транспорта для Symfony Messenger

Level of difficultyEasy
Reading time3 min
Views944

В процессе изучения Symfony Messenger мной было создано два самодостаточных примера, демонстрирующих его работу (описаны в отдельных статьях).

В каждом из этих учебных примеров в качестве транспорта сообщений для простоты была выбрана БД SQLite.
Готовой реализации транспорта именно для SQLite я не нашёл и пришлось её использовать через DBAL Doctrine.

И всё бы ничего, но внутренний перфекционист :-) нашёптывал, что использование целой Доктрины лишь для того, чтобы работать с одной-единственной таблицей с очередями сообщений — это явный перебор…

Бороться с затерроризировавшим меня внутренним перфекционистом ;-) я не стал и, решив поглубже разобраться с устройством транспорта сообщений в Symfony Messenger, создал такой транспорт для SQLite сам, с использованием PDO.
А заодно потестировал производительность самопального решения и решения на Doctrine (на HDD и на RAM drive).

Читать про SQLite транспорт для Messenger
Total votes 3: ↑3 and ↓0+4
Comments0

Пример использования Workerman и Symfony Messenger

Level of difficultyEasy
Reading time5 min
Views1.3K

Недавно мной был создан самодостаточный пример совместной работы компонентов Symfony Messenger и Symfony Console, подробно описанный в статье https://habr.com/ru/articles/817425/.

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

Мой внутренний перфекционист :-) сильно против этого возражал и говорил «а вот бы все эти консоли-терминалы запускались одной командой, в нужном количестве, сразу с Worker’ами, а если какой Worker упадёт, то заново запускались в нужном количестве».

Возражать своему внутреннему перфекционисту я не стал и создал ещё один пример работы Symfony Messenger, который запускается Worker’ами из PHP фреймворка Workerman. При этом Symfony Console вообще не используется.

Пример: Workerman и Symfony Messenger
Total votes 3: ↑3 and ↓0+4
Comments4

Простой пример использования Symfony Messenger

Level of difficultyEasy
Reading time6 min
Views3.2K

Пришёл и мой черёд асинхронно и многопоточно средствами PHP кое-что пообрабатывать… И я, естественно, вспомнил про компонент Messenger фреймворка Symfony.

Ранее я никогда Symfony Messenger не использовал.
Чтобы понять, как с ним работать, я пытался найти какой-то простой, законченный и самодостаточный пример, понятный даже чайнику, но мне это не удалось...

Всё, что находилось, было либо слишком сложным, либо это были какие-то отдельные куски кода, понятные только тем, кто уже работал с Symfony Messenger. К тому же всё, что находилось, в основном было "заточено" либо под Redis, либо под RabbitMQ. установка которых как-то немного перебор для учебного примера…

В-общем, я создал и выложил на GitHub такой простой, законченный и самодостаточный пример работы Symfony Messenger совместно с Symfony Console.

Посмотреть пример работы Symfony Messenger
Total votes 8: ↑8 and ↓0+12
Comments0

Белый список каналов Youtube

Level of difficultyEasy
Reading time6 min
Views4.9K

Меня зовут Михаил и я придумал, как организовать на компьютере белый список каналов в Youtube. Да, прям белый список – видео с каналов, которые явно не разрешены к просмотру – не откроется.

Если вы относитесь к меньшинству ответственных родителей, то, скорее всего, вы уже искали какую-то информацию на этот счёт. Цели у каждого свои – кому-то нужно разрешить смотреть только хорошие мультики, кому-то нужно разрешить смотреть только обучающие видео по подготовке к ЕГЭ.

При этом вам, несомненно, попадались советы «забанить нахрен этот чёртов Ютуб» через файл hosts, установить на смартфон приложение, поставить какой-то дополнительный фильтр в плагин блокировщика рекламы в браузере, кто-то рассказывает, как запретить отдельные каналы средствами самого «ютубчика» и т.п.
Но это всё не то… Запретишь отдельный канал – ребёнок найдёт десять новых дебильных каналов. Поставишь плагин блокировщика рекламы – удалит плагин. А приложение для смартфона, который давно уже должен быть у ребёнка отобран, не поставишь на компьютер.

Как приручить Youtube
Total votes 19: ↑11 and ↓8+10
Comments82

Information

Rating
338-th
Location
Балашиха, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Web Developer
Junior
PHP
OOP
Linux
MySQL
Symfony