问题标签 [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.
linux - 我收到“无法分配请求的地址”错误
我正在尝试运行 beanstalkd
如果我使用 127.0.0.1 和端口号 11300 它可以工作或任何其他端口
但是如果使用外部IP它不起作用。
我应该启用端口还是什么。如果我应该如何在第一种情况下而不是第二种情况下工作
beanstalkd - beanstalkd 上的循环队列
我正在为 beanstalkd 应用程序使用 beanstalkc 一个 python 包装器。
我想做的是让生产者放置一些工作(例如:'a','b','c','d')一次,并且消费者可以不断地获得工作(例如:'a' ,'b','c','d','a','b',...)。
在消费者中,我使用 job.reserve() 获得工作。我认为解决方案只是保留作业而不删除它们,但是在我运行了一些消费者进程之后,我得到了一个超时错误。
我显然做错了什么,但我找不到一种方法来“重新排队”消费者使用的工作。
.net - 要打开多少个 MQ 通道/队列
为了简单起见,假设我有一个类似聊天的系统——它是一对一的通信(可以在 1 个发送者和 1 个接收者之间)。发送者和接收者。我想使用 MQ 风格(可能是 beanstalk)将消息从一个用户发送到另一个用户。消息非常少,但考虑到 twitter 的用户数量,其中有很多,并且可能经常产生消息。我在 C# 中使用它。
要创建多少个通道/队列?
我的第一个想法是每次通信使用 1 个频道(b/w 2 个用户),但这意味着数百万个频道打开和关闭许多频道。也许有一种方法可以重新使用空闲通道而不是关闭它们。那会是更好的做法吗?
有没有更好的方法来进行这种沟通?
谢谢 :)
编辑:
由于我没有收到任何回复,我决定在这里发布我未经测试的设计,也许我们可以将其用作首发:
每个接收器客户端都有一个唯一的 ID,因此他们每个人都可以使用他们的 ID 名称打开一个试管。发送者,只要有东西要发送给客户端,它就会打开一个以目标 ID 作为管道名称的管道/队列。发送消息。然后丢弃管。
虽然理论上这似乎可行,但整个关闭和重新打开都很麻烦。
ruby-on-rails - 没有 activerecord 的后台作业中的回形针内存较少
我使用resque处理图片并在后台使用回形针上传到s3。但是每个工作人员都会加载大约 120MB~150MB 的整个 rails 实例。
我发现本教程可以在不加载导轨的情况下处理后台作业。 http://railscasts.com/episodes/243-beanstalkd-and-stalker
我如何使用 stalker 或其他更好的解决方案来操作回形针?
谢谢。
beanstalkd - 使用 beanstalkc 检查是否所有保留的作业都已完成
我希望我的一个脚本知道 beanstalkd 中所有剩余的排队作业是否都已完成。
我目前正计划遍历每个作业 ID 并运行 peek() 以查看是否返回任何内容。
有没有更优雅的方法来做到这一点?
beanstalkd - Stalker worker 中不包含自定义模型
我试图让 Stalker 在我的 Ramaze 应用程序中与 Beanstalkd 一起工作。我可以将作业排入队列,但我的工作人员无法识别我的自定义模型。这是我的jobs.rb:
要求 'stalker' 包括 Stalker BEANSTALK_URL = '0.0.0.0:11300' job 'award_badges' do |args| Badge.award_badges(args[:user_id], args[:badge_category]) 结束
我用 stalker jobs.rb 运行 jobs.rb 并总是收到错误:异常 NameError -> 未初始化的常量徽章
在所有 stalker 示例中都没有包含任何库,Stalker 是如何知道这些类的?
beanstalkd - 与 Pheanstalk 的陈旧联系
我正在使用 beanstalkd 将一些工作卸载到其他机器上。设置有点不寻常,服务器在互联网上(公共 ip),但消费者在某些人家中的 adsl 线路后面。所以有一个 linux 服务器作为客户端,通过一个动态 ip 出去并连接到服务器以获得工作。这都是 PHP,我正在使用 pheanstalk 库。
一切顺利运行了一段时间,但随后adsl更改了IP(每24小时提供商强制断开重新连接)客户端只是挂起,永远不会超出“保留”。
我认为对储备设置超时会有所帮助,但事实并非如此。看起来,客户端发出命令并阻止,它从不检查超时。它只是发出一个带有超时的保留(而不是简单的保留),并且服务器有责任在超时发生时返回一个 TIME_OUT。问题是,连接断开了(但 TCP/IP 直到任何一方尝试与另一方交谈才知道这一点),如果客户端阻止读取,它将永远不会返回。
该库似乎支持某种本地超时(例如尝试连接到服务器时),但它似乎没有考虑这种情况。
我怎样才能检测到陈旧的连接并强制重新连接?协议(以及 pheanstalk 本身)上是否有某种保活?
谢谢!
python - 芹菜或豆茎或两者兼而有之?
我知道(但我不明白)Celery 可以使用 Beanstalk 作为传递机制。
“Beanstalk 是一个简单、快速的工作队列。”
“这是一个专注于实时处理的任务队列,同时也支持任务调度。”
这似乎和我很相似。那么,我为什么要选择芹菜而不是普通的豆茎呢?或者我为什么要选择豆茎而不是成熟的芹菜?
我想向我的 web 应用程序添加一个任务/工作队列,但我不确定该走哪条路。
php - FFMpeg + Beanstalk:如何在不使用 Beanstalk 的情况下将进程传递给它或达到相同的结果
我的问题是 FFMpeg 和 Mencoder 资源丰富,即使运行其中一个进程也会使 HTTPd 变慢,但(FFMPEG /Mencoder)的多个进程只是完全挂起它(HTTPd)。例如,我希望使用 Beanstalk 处理我的转换。
我的具体问题是:如何将我目前的工作转移到 Beanstalk?
我有一个触发转换的简单PHP代码:
现在 Beanstalk 正确的代码会是什么样子,这样如果上传了多个视频,这些进程就不会同时启动?
如果您认为我的需要最好使用除 Beanstalk 之外的其他东西,并且您知道如何实现它,我仍然很高兴看到它!
提前致谢,
伊利亚
python - 从 beanstalkd 获取工作 - 超时异常
我正在使用Python 2.7
, beanstalkd server
with beanstalkc
作为客户端库。
处理每个作业大约需要 500 到 1500 毫秒,具体取决于作业的大小。
我有一份cron
工作将继续向 beanstalkd 队列添加工作,还有一个“工人”将在无限循环中运行,获取工作并处理它们。
例如:
这导致"timed out"
异常。
这是从队列中拉出作业的最佳做法吗?
有人可以帮我吗?