balpom/symfony-messenger-sqlite

如何初始化和使用Symfony Messenger,并在SQLite数据库中创建队列,而不使用Doctrine。

v1.0.2 2024-06-08 13:30 UTC

This package is auto-updated.

Last update: 2024-09-08 14:14:36 UTC


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的执行。