balpom / symfony-messenger-sqlite
如何初始化和使用Symfony Messenger,并在SQLite数据库中创建队列,而不使用Doctrine。
v1.0.2
2024-06-08 13:30 UTC
Requires
- php: >=8.1
- balpom/sql-messenger: >=1.0.0
- php-di/php-di: >=7.0
- symfony/cache: >=6.4
- symfony/console: >=6.4
- symfony/event-dispatcher: >=6.4
- symfony/messenger: >=6.4
README
一个简单的示例,展示如何初始化和使用Symfony Messenger,并在SQLite数据库中创建队列,而不使用Doctrine。
这是一个修改后的示例,来自https://github.com/balpom/symfony-messenger-sample,该示例使用Doctrine https://github.com/symfony/doctrine-messenger作为消息传输。
此示例使用https://github.com/balpom/sql-messenger作为传输。它使用PDO通过SQLite数据库,而不使用Doctrine。
所有测试均在Linux上进行。
要求
- PHP >= 8.1
安装
使用composer(推荐)
composer create balpom/symfony-messenger-sqlite
如何使用
简单测试
打开控制台窗口。运行命令
php bin/console messenger:consume sql-async
它启动了一个简单的Worker,模拟短信发送。现在它正在等待从队列中发送的消息,而队列仍然是空的。
打开另一个控制台窗口。运行命令
php tests/send.php
它运行一个简单的脚本,向队列中添加几个消息。之后,在第一个控制台窗口中,您可以看到Worker“发送”短信。
运行命令
php bin/console messenger:stop-workers
它停止Worker的执行。
高级测试
打开多个控制台。在其中的每个控制台中,运行命令
php bin/console messenger:consume sql-async
它启动了多个简单的Worker,模拟短信发送。现在它们正在等待从队列中发送的消息,而队列仍然是空的。
打开另一个控制台窗口。运行命令
php tests/sendmany.php
它运行一个简单的脚本,向队列中添加多个消息。之后,在之前打开的控制台中,您可以看到多个Worker“发送”短信。
运行命令
php bin/console messenger:stop-workers
它停止所有Worker的执行。