队列 / 队列
通用队列
0.1.0
2015-12-31 00:41 UTC
Requires
- php: >=5.5
- psr/log-implementation: ^1.0.0
Requires (Dev)
- monolog/monolog: ^1.17
- phpunit/phpunit: ^5.1
This package is not auto-updated.
Last update: 2024-09-14 17:59:01 UTC
README
这个库是一个队列系统抽象层。它允许你在应用中实现任何队列系统,无需依赖于你选择的队列系统的实际实现。
注意:你需要一个进程控制系统(如 supervisord)来保持你的工作进程运行。
使用场景
队列系统
比如说,当你想在论坛线程上放置新的评论时通知多个用户。如果立即发送这些邮件,可能会显著降低你的应用程序的性能。当使用队列系统时,你可以通过将作业添加到队列来延迟此操作。一个工作进程将异步地从你的Web进程中提取这些作业。这样,你的应用程序就具备了未来性,你将更容易在未来进行扩展。
库
当你决定使用这个库时,你不需要依赖于队列系统的实现。你可以插入你选择的驱动。你可以从基本的mysql版本开始,当你需要更多性能时,可以选择如 beanstalkd 或 RabbitMQ。
代码示例
<?php require_once(__DIR__ . '/vendor/autoload.php'); use Queue\Queue; use Queue\Job\Job; use Queue\Executor\JobExecutor; $driver = new QueueDriver(); // Use your driver. $queue = new Queue($driver); // Add a job to the queue $queue->addJob(new Job('notify_forum_thead', ['threadId' => 12]));
<?php require_once(__DIR__ . '/vendor/autoload.php'); use Queue\Queue; use Queue\Worker\Worker; $driver = new QueueDriver(); // Use your driver. $queue = new Queue($driver); $worker = new Worker($queue, new JobExecutor(), 1); $worker->run();
安装
运行此命令从 packagist 获取最新版本
$ composer require queue/queue
贡献
所有代码贡献(包括具有提交访问权限的人的贡献)必须通过拉取请求,并由核心开发者批准后才能合并。这是为了确保对所有代码进行适当的审查。
将该项目的分支复制出来,创建一个功能分支,并给我们发送一个拉取请求。
为了确保代码库的一致性,你应该确保代码遵循我们从 Symfony 借用的 编码标准。务必检查 php-cs-fixer,这将大大帮助你。
如果你想要帮忙,请查看 问题列表。
需求
PHP 5.5 或更高版本
作者和贡献者
Dries De Peuter - dries@nousefreak.be - http://nousefreak.be
参见此项目的 贡献者列表。
许可证
Cron 在 MIT 许可证下发布。