草庐IT

阻塞队列--LinkedBlockingQueue

全部标签

javascript - Redis 队列将列表中的项目存储为 [object Object]

我正在使用curl将POST请求发送到我的node.js应用程序。然后处理POST请求并将其推送到Redis队列。但是当我检查我的redis队列时,列表中的所有项目都显示为[objectObject]。这是我的代码,varhttp=require('http');varqs=require('querystring');varredis=require('redis').createClient();redis.lpush('XMLqueue','post');console.log('ServerStartingNow:');http.createServer(function(re

sockets - Laravel Forge 队列 worker

我使用Forge进行部署并设置了一个worker来处理Redis队列。每封电子邮件都在我的应用程序中排队,如果我尝试在“支持”页面中发送电子邮件,它会起作用。尽管如此,如果我尝试注册一个帐户,整个过程都有效,但不会发送激活电子邮件。Thisismylog,它似乎无法连接到mysql来存储失败的作业(即使数据库连接有效,因为我的注册帐户已正确存储)但它不提供有关作业失败的信息。此外,我的测试环境和本地环境都可以发送激活电子邮件。怎么了? 最佳答案 我通过重启队列工作器解决了。 关于sock

ruby-on-rails - Sidekiq 不处理多个队列

我已成功配置Sidekiq供我使用,但现在它处理的队列不超过一个。它只处理配置文件中最先写入的队列。例如:---:verbose:true:concurrency:100:pidfile:tmp/pids/sidekiq.pidstaging::concurrency:10production::concurrency:20:queues:-[kritikal,5]-[critical,4]在这种情况下,它只处理kritikal队列。在以下情况下:---:verbose:true:concurrency:100:pidfile:tmp/pids/sidekiq.pidstaging::

parallel-processing - Redis队列架构

我们如何分配Redis队列来并行处理作业?我们可以在单个Redis队列中放置不同的队列吗?我正在制作一个聊天应用程序,我想完全减少延迟时间。如果假设有更多人在同一时间戳发送消息,那么redis队列中就会有更多消息。有办法处理吗?我正在使用Redis进行内存数据发送。 最佳答案 Redis是单线程的。因此,不能并行处理任何项目。这并不像一开始听起来那么糟糕,因为Redis可以非常快地处理这些小操作(有关它有多快的更多详细信息,请参阅http://redis.io/topics/benchmarks)有序列表只能处理具有唯一分数的项目。

redis - 我可以使用 lpop/rpop 和 Redis 创建一个简单的队列系统吗?

我尝试了几种消息/作业队列系统,但它们似乎都增加了不必要的复杂性,而且我总是以队列进程无缘无故死机和神秘的日志消息告终。所以现在我想用Redis制作自己的队列系统。你会怎么做?据我所知,Redis很好,因为它有lpop和rpush方法,还有一个发布/订阅系统,可以用来通知工作人员有新消息要使用。这是正确的吗? 最佳答案 是的,你可以。事实上,有很多包可以做到这一点......包括Celery和RQ用于Python和resque对于Ruby和resque到Java(Jesque和Javascript(Coffee-resque))的端

design-patterns - Redis中持久队列的 worker 管理

使用LPUSH和BRPOPLPUSH(http://redis.io/commands/rpoplpush)在Redis中实现持久队列是一种众所周知的模式。然而,为了扩大规模,该设计需要满足主任务队列中BRPOPLPUSH的多个工作人员/消费者。所以规范似乎是对于每个工作人员都有一个单独的processing_queue记录特定工作人员正在处理的任务,这样工作人员可以跟踪剩下要做的事情以防万一它在处理过程中退出。关于这个processing_queue我有两个问题:worker的processing_queue中任何时候都最多一个项/任务的推理是否正确?我假设工作人员首先检查其自己的p

python - 使用 Python-Rom Redis ORM 实现队列

我正在使用Flask和Redis。我用romredisorm管理一些稍微复杂的数据结构。我想使用一个模型对象队列,能够从两端插入或弹出对象。我有以下rom模型:classA(rom.Model):url=rom.String(required=True,unique=True)()t=rom.String()delete_at=rom.Float(index=True)created_at=rom.Float(default=time.time,index=True)当我运行obj._columns(obj是类A的单个实例)时,我在命令行中看到,有一个id字段。关于如何解决这个问题,我

java - Laravel exec() 在队列作业中

我在我的laravel应用程序中使用了redis队列。从我的队列作业中调用exec('{runsomejavaprogram}')似乎并没有实际执行该命令。有人知道吗? 最佳答案 如果您的外部可执行文件由于任何原因出现错误,PHP将跳过并忽略exec的输出(您可能希望调试/将exec()的结果转储到文件/控制台以了解更多信息)和因此队列也是如此。请记住,运行队列的PHP-CLI无法访问您通常在非CLI(PHP-FPM、Apache模块等)环境中使用的任何内容(请求、请求()和$request不会像你期望的那样工作)相关:Larave

amazon-web-services - 为 AWS 中的多个消费者选择消息队列方法

请帮助为以下用例选择MQ应用程序/系统/方法:检查特定用户的传入消息->阅读消息(如果可用)->从队列中删除,理想情况下,留在AWS中。上下文:社交网络应用,用户接收消息,即我需要通过收件人ID识别收到的邮件。该应用每30秒对新消息进行一次长轮询。邮件大小为根据目前的估计,我每月总共需要检查1亿多条消息(但是,消息少得多,这些只是检查)。虽然用户确认消息选择“确定”或“忽略”,但不确定是否需要来自MQ系统的ACK支持。我在AWS。最初想到SQS,但我读得越多,它看起来就越不适合-无法以按收件人过滤的方式设置消息收件人ID等,但也许我错了。我还考虑过的选项之一是只使用DynamoDB的“

redis - 使用 Redis 维护页面浏览量计数队列并使用集合值更新数据库,而不是在每次页面浏览时更新

我想使用redis来存储不同用户的个人资料浏览量。我没有在每个页面View上更新表(将计数增加1),而是考虑在列表或redis上存储和增加该配置文件的(View)计数。然后定期从列出并更新表格。因此可以减少对数据库的查询次数。列表或任何其他数据结构会更好用吗?还有其他更好的方法吗? 最佳答案 在这种情况下,List不太适合,因为它的成员是不可变的并且您希望更新计数。相反,考虑使用哈希,其中每个字段代表一个配置文件,值是该页面的计数器。每个页面View都会触发一个HINCRBY到相关字段的值。您可以定期读取该哈希的内容,将其删除并将增