在同一台服务器上分离beanstalkd队列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在同一台服务器上分离beanstalkd队列相关的知识,希望对你有一定的参考价值。

我有一个生产Laravel网站,它使用Beanstalk作为队列驱动程序。

现在,我被要求在同一台服务器上创建一个临时网站,具有生产网站的所有相同功能。

我担心队列和计划任务。从我看到的是服务器上有一个beanstalkd进程。如果我开始从登台服务器向队列中添加内容,那么我担心来自生产服务器的计划任务会选择并执行排队操作(其中一些可能非常棘手,比如计费用户)。

登台服务器需要具有生产中的真实数据库才能有意义,包括真实的成员数据。

如何设置暂存Laravel应用程序以在这方面不与生产冲突,但具有相同的数据库?

答案

您可以使用不同的默认管设置两个连接,并且基于ENV,您可以将消息发送到不同的管。

或者您只有一个连接,但指定了不同的管。通过这种方式,您可以使用一组实时管,另一套用于开发。

看到一些指导:https://laracasts.com/discuss/channels/general-discussion/queue-with-two-tubes

并且:https://fideloper.com/ubuntu-beanstalkd-and-laravel4

以上是关于在同一台服务器上分离beanstalkd队列的主要内容,如果未能解决你的问题,请参考以下文章

Beanstalkd一个高性能分布式内存队列系统

Beanstalkd工作队列

使用 Laravel Forge 在同一台服务器上创建多个队列

如何安装和使用Beanstalkd工作队列

Laravel 队列与 beanstalkd 和 redis 重复

分布式集群的最佳工作队列服务