问题标签 [redistogo]

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 投票
3 回答
3467 浏览

python - Redis Queue + python-rq:防止高内存使用的正确模式?

我们目前正在将 Redis 与 Heroku 托管的 Python 应用程序一起使用。

我们将 Redis 与 python-rq 纯粹用作任务队列,以提供一些时间密集型任务的延迟执行。一个任务正在从 PostgreSQL 数据库中检索一些数据并将结果写回它 - 因此 Redis 实例中根本没有保存任何有价值的数据。我们注意到,根据执行的作业数量,Redis 正在消耗越来越多的内存(增长 @ ~10 MB/小时)。CLI 上的 FLUSHDB 命令修复了这个问题(将其降低到使用的 RAM 约为 700kB),直到 RAM 再次充满。

根据我们(未更改的标准)设置,作业结果会保留 500 秒。随着时间的推移,一些作业当然会失败,它们会被移动到失败的队列中。

  • 为了使用稳定数量的 RAM 完成任务,我们需要做些什么不同的事情?
  • RAM 消耗从何而来?
  • 我可以完全关闭持久性吗?
  • 从文档中我知道 500 秒 TTL 意味着密钥“过期”,但并未真正删除。此时密钥是否仍会消耗内存?我能以某种方式改变这种行为吗?
  • 它是否与失败的队列有关(显然没有附加到作业的 TTL,这意味着(我认为)这些将永远保留)?
  • 只是好奇:当纯粹将 RQ 用作队列时,Redis DB 中保存了什么?它是实际的可执行代码还是只是对可以找到要执行的函数的位置的引用?

很抱歉提出了一些非常愚蠢的问题,但是我对排队的话题很陌生,在研究了 2 天以上之后,我已经到了不知道下一步该做什么的地步。谢谢,KH

0 投票
1 回答
347 浏览

node.js - RedisToGo 在heroku“本地”可用吗?

我打算使用 Redis 进行会话存储。

根据这个问题:对于单主机 Node.js 生产应用程序来说,什么是好的会话存储?似乎当redis在“本地”不可用时,它根本不快。

在heroku上看起来如何?

假设我将节点应用程序部署在 heroku 上并扩展到 4 个实例:

假设我提供插件redisToGo并将其用作会话存储。

  1. 这种redis实例的速度会是多少?就像它在“本地”或“远程”可用?
  2. 将它用于会话存储是个好主意吗?
0 投票
1 回答
478 浏览

python - Heroku:使用烧瓶连接错误设置redis和redisco

我正在尝试在heroku上使用flask时设置redis,我通过heroku添加了redistogo插件。

看起来我的 redistogo 实例正在端口 9456 上运行:redis://redistogo:asdfasdf:9456

我尝试像这样配置redisco的端口:

但是,我收到连接错误

我的 heroku 日志如下所示:

关于为什么会这样的任何想法?谢谢你的帮助

0 投票
2 回答
750 浏览

heroku - Heroku 上 RedisToGo 的 Redis 服务器版本

我在 heroku 上使用 RedisToGo 插件。

如何获取正在使用的 redis 服务器版本?

0 投票
1 回答
176 浏览

ruby-on-rails - Heroku 上的 Resque 2.0

我希望能够使用 Heroku 和 Rails 运行 Resque 2.0,但似乎没有任何好的教程/文档。

看来我可能需要类似的东西,RedisToGo但不确定在没有它的情况下使用它是否是一种好习惯。我还担心,由于我在澳大利亚,RedisToGo 是否仍然是一个不错的选择。

最近有没有人用 Heroku 完成了一个好的 Rails 4、Resque 2.0 实现?

0 投票
1 回答
4501 浏览

heroku - 在 Heroku 和 Redistogo Nano 上达到的最大客户数

我在 Heroku 上使用 celerybeat 和 RedisToGo Nano 插件

有一个网络测功机和一个工人测功机

celerybeat 工作人员设置为每分钟执行一项任务。

问题是:每当我部署新的提交时,dynos 重新启动,我得到这个错误

那些日志没完没了。直到我停止两个测功机并重新启动它们。

它已经成为一个问题,因为它几乎在每次部署新提交时都会发生。

任何想法为什么会发生这种情况以及如何解决这个问题?

0 投票
3 回答
4603 浏览

ruby-on-rails - 使用 Heroku 和 Rails 4.0.0 设置 Redis

我正在尝试在我的 Rails 4 应用程序上设置 Redis To Go。我也希望能够将它部署到 Heroku。

到目前为止,这就是我所做的:

通过该dashboard.heroku站点,我使用一键安装 Redis To Go 的 Nano 版本将插件安装到我的应用程序中。

我添加gem 'redis'到我的 gemfile 中。

config/environments/development.rb我添加了这一行:

然后,我创建了一个config/initializers/redis.rb如下所示的文件:

现在在我的控制台中运行Redis命令时,我收到此错误:

Redis::CannotConnectError: Error connecting to Redis on 127.0.0.1:6379 (ECONNREFUSED)

我在这里做错了什么,我需要做些什么来确保我可以在开发中测试并部署到 Heroku 没有任何问题?

0 投票
1 回答
374 浏览

ruby-on-rails - Rails 未连接到 Redis (RedisToGo)

我一直在尝试将 Rails 4 应用程序部署到 heroku,但仍然遇到相同的错误:

在 127.0.0.1:6379 (ECONNREFUSED) 上连接到 Redis 时出错 (Redis::CannotConnectError)

我正在使用 RedisToGo,并且已经完成了此处显示的配置步骤。环境变量设置正确。

当尝试在本地连接到 redis(如文档中所示)时,一切正常。

0 投票
1 回答
523 浏览

session - Sailsjs 0.10.3 - Heroku - RedisToGo - req.session 未定义

当使用带有 Redis To Go 的sailsjs v0.10.3 进行会话存储时,req.session始终为undefined.

这是undefined我在本地和 Heroku 部署的时候。当我使用默认适配器req.session时正确定义。memory

我创建了一个sailsjs 应用程序:

安装了connect-redis v1.4.7:

设置配置config/session.js

设置配置config/socket.js

创建了一些获取和设置会话值的控制器操作:

最后部署到 Heroku:

这是错误:

看起来这个简单的例子应该可以工作。

这是上面示例的回购:

https://github.com/derekbasch/sailsjs-redistogo-testapp

有谁知道我做错了什么?

更新:

我尝试在 Heroku 上使用 MemoryStore 适配器来获取/设置会话变量。那也失败了undefined。它在本地工作。现在我更加困惑了。

0 投票
3 回答
9338 浏览

ruby-on-rails - sidekiq 不会在 Heroku 上生成 sidekiq.pid 文件,与 Redistogo 一起使用

为了让 sidekiq 在 heroku 生产环境上工作,我已经苦苦挣扎了两天。我已经阅读了有关类似问题的所有可用文档,但仍然无法产生有效的解决方案,我真的很需要帮助!

在 heroku 上部署后,我的应用程序崩溃并且我得到以下错误堆栈跟踪:

首先,sidekiq 在我的本地机器上正常工作。我将heroku的REDISTOGO用于redis,在本地生产中,sidekiq已正确指向REDISTOGO并且运行良好。

其次,根据堆栈跟踪,尤其是这一行No such file or directory @ rb_sysopen - /app/tmp/pids/sidekiq.pid;它使我认为由于某种原因sidekiq.pid在heroku上运行时文件未正确生成。在本地环境中,sidekiq.pid每次我在app/tmp/pids/目录中启动应用程序时都会生成该文件,并且每次都分配一个不同的pid编号。我就是guessing在heroku上运行时,sidekiq试图从这个文件中读取但找不到它。

这是我的内容Procfile

这是我的内容config/sidekiq.yml

这是我的内容sidekiq.rb

更新1

我正在使用carrierwavecarrierwave-backgroundersidekiq.