问题标签 [beanstalkd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3808 浏览

ubuntu - Launch beanstalkd command at Ubuntu Boot

I am working on beanstalkd on Ubuntu (Very new for me), I want to know which is good way to start beanstalkd service on ubuntu boot.

In short, I would like to execute,

beanstalkd -b /path/to/binlog/directory -l 127.0.0.1 -p 11300

  1. Using /etc/default/beanstalkd . I have added following code and reboot system (Not working)

    /li>
  2. sudo nano /etc/init/beanstalkd.conf and pasting and reboot system (Not working)

    /li>
  3. By editing rc.local file under /etc/ folder. Paste my command to execute before exit 0 (Working fine for me)

0 投票
1 回答
905 浏览

php - Beanstalkd 服务器不可用的问题?

我想将 beanstalkd 与 Laravel 4 一起使用,这样我就可以将我的邮件排队等待发送。我注意到 laravel 4 已经准备好开箱即用的 beanstalkd(需要设置一些配置设置)。我的问题是使用 GUI 来监控 beanstalkd。我已经安装了 phpBeanstalkdAdmin 和 beanstalkd_console。当我在浏览器中访问 beanstalkd_console 时,一切正常,但出现此错误:

错误:服务器不可用

并且使用 phpBeanstalkdAdmin 我只获得了管理界面,并且没有任何按钮起作用。我不能申请服务器,我不能通过他们的界面向任何管子添加任何工作。

我用来在我的 ubuntu 12.10 服务器上运行 beanstalkd 的命令是:

豆茎 -l 127.0.0.1 -p 11300

此命令似乎工作正常,服务器运行或开始监控。

我检查了 beanstalkd_console 的 include.php 中的 confif 选项,所有设置都是正确的。有没有人遇到过类似的问题,或者知道可能是什么原因?

0 投票
2 回答
1790 浏览

laravel - Beanstalkd / Pheanstalk - 根本无法正常工作!(WAMP/PHP/LARAVEL)

所以我试图让 Pheanstalk 队列在内置的 Laravel 4 中工作(我必须作曲安装 beanstalkd 库)。

现在已经完成了......我正在尝试将工作发送给我的工人。每次我这样做时都会收到此错误

我的日志中也出现此错误:

一旦我运行'php artisan queue:listen',它似乎就被循环了。

我已经下载了 beanstalkd 的控制台并将其配置为监听服务器 localhost:11300。

这给了我一个错误:未处理的响应。

我已经更改了我的 httpd.conf 并添加了 Listen 11300 并重新启动。

任何想法我哪里出错了?我看不到太多 Beanstalkd 的文档,而 Laravel 文档也没有帮助。

感谢您的任何想法!

0 投票
1 回答
2913 浏览

php - PHP/Beanstalkd:并行产生多个工作人员

我有一个脚本可以检查哪个 MX 记录属于电子邮件地址。我有大约 30 万封电子邮件要检查。因此,单线程进程将需要很长时间。

我有一个带有队列的beantalkd,php正在通过一个文件向它发送电子邮件。但是,我只让一名工作人员执行队列。我目前无法为一个流程生成 10 多个工人。

我运行 do_job_mx.php ,然后打开一个仅包含电子邮件的文件并将它们传递到队列。

从文件中获取电子邮件并放入队列的 php 代码 - do_job_mx.php:

工人的 php 代码 - do_worker_process_mx.php:

监督配置:

我目前无法为一个流程生成 10 多个工人。

正在运行的进程数:

0 投票
1 回答
550 浏览

queue - Laravel 4 - 如何使用包类作为队列工作者

我已经构建了我的第一个 Laravel 4 包。

我使用工匠来创建结构。

我需要使用包来处理队列(作为工作人员)。

我正在使用内置的 Beanstalk 队列并对其进行配置,并且可以添加到队列中。

将正确路径添加到我想用来处理队列的类的正确语法是什么。

如果将类保存在这里/app/controllers/TestClass.php(因为它会自动加载) ,我可以让它工作
示例:

但是,如果类在包中,我应该将什么作为类放入队列中?
此文件在工作台中: workbench\vendor\package\src\Vendor\Package

我的包作曲家文件包含

例如。队列::push('vendor\package\TestClass', array('message' => $message));

当我运行 php artisan queue:listen 时,它会正确拾取队列中的项目,但它没有找到我想使用的类(在包中)处理队列。

由于某种原因,该类没有被加载(或自动加载),我不知道如何做到这一点。

感谢所有和任何帮助

0 投票
2 回答
708 浏览

rabbitmq - RabbitMQ、Beanstalk 或 Resque 是否支持在特定日期安排任务?

我看过RabbitMQBeanstalkResque,它们似乎都面向异步、非延迟任务(即,尽可能快地运行所有这些任务)。

他们中的任何一个都支持在某个时间戳上安排任务吗?

0 投票
0 回答
538 浏览

php - 在 PHP Ubuntu 上使用 beanstalkd 与 ActiveMQ 进行排队

我有一个 PHP 系统,用户可以在其中与他人交互;当用户执行某些操作时,此操作将转发给所有关注此用户的用户作为会员提要。

我目前使用beanstalkd队列系统,所以我向 beanstalkd 发送消息,beantalkd 完成此操作并将其发送给所有用户并进行数据库处理,如插入。

但是我在 beanstalkd 上有很多问题,最近我读到了Active MQ

那么我可以使用 Active MQ 替换 beanstalkd 并使用 Active MQ 作为排队系统来完成此操作,以便不等待完成响应并减少页面响应吗?

或者如果有任何其他相关系统请帮助我?

0 投票
1 回答
721 浏览

command - 具有嵌套闭包、命令和依赖项的队列管理器

我对 Laravel 很陌生,正在尝试创建队列来处理我的处理脚本。处理脚本将由每晚的 cron 作业触发。

我已经设置了 beanstalkd 并使用了队列。我还设置了非常简单的命令,允许我使用 artisan 启动脚本。我对 Laravel 很陌生,正在尝试创建队列来处理我的处理脚本。处理脚本将由每晚的 cron 作业触发。

我已经设置了 beanstalkd 并使用了队列。我还设置了非常简单的命令,这将允许我使用 artisan 启动脚本。

我遇到的主要问题是我的脚本中有依赖项。例如:

我首先需要脚本 A 成功运行,然后 B 需要成功运行,然后 C 和 D 需要运行,但 C 和 D 的顺序并不重要

这些都是非常不同的任务,我想将它们分开,但需要管理我队列中的依赖关系。我已经创建了模型和库来处理我的处理,一切都很好。

由于我已经在模型中有我的逻辑,我只需要对我的队列进行一个小调用。最初我只想使用闭包并将其全部写入一个文件,下面是一个简单的示例。

这行得通,但这仅适用于 A,我仍然需要添加 B、C 和 D。所以我决定在其中添加一个闭包。

这不起作用。在闭包内运行闭包似乎存在问题。也可能存在作业 A 可能在作业 B 开始之前被删除的问题。

这个例子比我实际需要做的要简单一些。这是一个更好的例子......在完成A之后,我现在需要获取一系列事物并遍历每个事物并运行B。然后从前面我说我有C和D,它们是从B产生的。 ..但我什至还没有进入C和D部分,因为这已经变得很复杂了。

所以嵌套闭包仍然不起作用。我的下一步是不嵌套闭包,而是编写类。要开始我必须做的 A 过程

然后

然后

ProcessC 和 ProcessD 在这一点上是无关紧要的,只要它们运行。这种方法似乎有效,但我认为有时当 processA 在 ProcessB 生成之前完全完成时我会遇到问题。弄清楚这些事情是漫长的一天,也许这确实工作正常......需要进行更多测试。

由于 Laravel 或 PHP 5.4 中的自动加载魔法,此方法还需要我为正在运行的每个 ProcessA/B/C/DI 创建一个单独的文件。正如你所看到的,每一个都很短。这似乎是一种相当复杂的做事方式。

  • 这种方法在任何方面似乎都有缺陷吗?
  • 我应该以其他方式这样做吗?
  • 我是否应该将其初始化为工匠命令并切换到路由并使用 curl 调用它们?
  • 有没有办法让嵌套闭包工作?
0 投票
1 回答
2220 浏览

beanstalkd - 安装后无法启动 beanstalkd

在我的 ubuntu 13.04 上安装 beanstalkd 之后

我运行“ beanstalkd -l 127.0.0.1 -p 11300”命令来启动它

CLI 返回:

请问我能做什么?我是这个队列系统的新手。

0 投票
3 回答
12986 浏览

laravel - Laravel Artisan 队列 - 高 CPU 使用率

我在 Laravel 中为我的处理脚本设置了队列。我正在使用 beanstalkd 和 supervisord。有 6 种不同的管用于不同类型的处理。

问题在于,对于每根管子,工匠每秒都在不断地产生工人。工作人员代码似乎休眠了 1 秒,然后工作线程使用 7-15% 的 cpu,将其乘以 6 个管......我希望每管有多个工作人员......我的 cpu 被吃光了。

我尝试将 1 秒睡眠更改为 10 秒。这有帮助,但是当工作人员醒来时,每 10 秒仍然会有一个巨大的 CPU 峰值。我现在什至没有处理任何事情,因为队列完全是空的,只是工人在找事情做。

当我在浏览器中刷新页面并且徘徊在 10% 左右时,我还测试了 laravel 的 cpu 使用情况。我现在在一个低端机架空间实例上,这样可以解释它,但仍然......看起来像工作人员每次醒来都会启动一个 laravel 实例。

有没有办法解决这个问题?我是否只需要在更昂贵的服务器上投入大量资金,就可以聆听工作是否准备就绪?

编辑:

找到了一个解决方案......它是不使用工匠队列:侦听器或队列:工作我查看了队列代码,似乎没有办法解决这个问题,每次工作人员检查时都需要加载 laravel做更多的工作。

相反,我使用 pheanstalk 编写了自己的监听器。我仍在使用 laravel 将内容推送到队列中,然后我的自定义侦听器正在解析队列数据,然后触发 artisan 命令运行。

现在我的听众的 cpu 使用率低于 %0,我的 cpu 现在唯一一次启动是当它真正找到工作要做然后触发命令时,我很好。