问题标签 [heroku-redis]

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 投票
2 回答
363 浏览

heroku - 部署 Heroku 应用程序的问题 - RQ Worker:“HSET”命令的参数数量错误

根据此示例修改应用程序,在 web.1 dyno 初始化期间部署更新的 Heroku 应用程序时遇到问题。

在我的开发环境中一切正常;当我直接启动“app”和“worker”可执行文件时,我可以从 127.0.0.1:5000 访问正在工作的应用程序

我已经有作为应用程序的一部分创建的 postgresql 和 redistogo 插件......

heroku 配置文件

档案

heroku.sh

应用程序.py

工人.py

在测功机启动期间,我收到以下错误:

heroku[web.1]:状态从崩溃变为开始

heroku[web.1]:使用命令启动进程bash heroku.sh

app[web.1]:命令#2(HSET rq:worker:2bd1d3d3a7f04d2fb7a09b34786689bf 出生 2020-05-23T11:28:04.485474Z last_heartbeat 2020-05-23T11:28:04.485474Z 队列默认 pid 11 主机名 b428 b9c2-b2195e234978 版本 1.4.1 python_version 3.7.4(默认,2019 年 9 月 12 日,01:19:52)

app[web.1]: [GCC 7.4.0]) 的管道导致错误:“hset”命令的参数数量错误

heroku[web.1]:进程以状态 0 退出

heroku[web.1]:状态从开始变为崩溃

我相当确信错误出现在worker.work()worker.py 文件中突出显示的行中,因为我在运行时遇到了同样的错误heroku run python worker.py(或直接将这些行复制到heroku run pythonREPL 解释器中)

0 投票
1 回答
531 浏览

heroku - 为 python 电报机器人使用数据库

我正在使用python-telegram-bot创建一个机器人。我在机器人中使用第三方应用程序,用户必须登录该应用程序才能进一步使用机器人命令,我已经在 heroku 上托管了机器人。

现在的问题是,我的 heroku 应用程序在 30 分钟不活动后休眠,因此用户丢失了访问令牌并且必须再次连接到应用程序。

我正在考虑将访问令牌存储在数据库中,我发现 heroku 有 3 个数据库选项。我的偏好是redis,但我想知道即使在睡眠期间数据库是否可用,还是数据库会刷新?

此外,如果有人有更好的解决方案,那就更受欢迎了!

0 投票
1 回答
440 浏览

django - Heroku 不断更改我的 heroku-redis 插件的 url

我使用 heroku-redis 插件作为我的 django 应用程序的消息代理,该应用程序托管在 VPS 上。问题是 Heroku 不断更改服务的 de URL,因此当 url 更改时,我的应用程序会不时崩溃。

有谁知道解决这个问题的方法?有没有办法自动获取我的 heroku-redis 插件的更新 URL?

0 投票
1 回答
307 浏览

heroku - 从 nestjs 应用程序连接到 Heroku redis

我在 Heroku 上托管我的 nestjs 应用程序并尝试使用“Heroku redis”插件。

app.module.ts我导入RedisModule如下:

配置 Heroku-redis 插件后,它REDIS_URL在 Heroku 的 config vars 下添加,但是,当我部署并运行应用程序时,我收到以下错误消息:

2020-06-11T09:00:48.690255+00:00 app[web.1]: [ioredis] Unhandled error event: Error: getaddrinfo ENOTFOUND redis://h:abc@ec2-52-51-206-63.eu-west-1.compute.amazonaws.com:16719

(我已经用一个示例替换了真实的 url 值来说明问题)

我好像找不到

0 投票
0 回答
580 浏览

ruby-on-rails - Rails.cache.exists?(key) 返回 false

我已经在 heroku 上部署了 Rails 应用程序,我正在使用 Heroku-redis premium0 插件。

我正在检查 redis 中是否存在密钥,然后从 redis 获取数据,否则调用 API,但有时即使密钥存在于 redis 中,Rails.cache.exist?(key) 也会返回 false,例如在 production.rb

但我检查了我的 Heroku 日志显示

上述问题不一致,只是有时会发生

0 投票
2 回答
357 浏览

heroku - 将 RedisDB 与 Express-Gateway 一起使用。如何从 .ENV 读取数据库凭据?

我正在使用 Redis DB 在 Heroku 上使用 Express-Gateway。我想知道如何将 Redis 凭据设置为唯一的 URL 参数,而不是使用单独的变量。

现在,Express Gateway 从文件中读取凭据system.config.yml,其中凭据结构是

不幸的是,Heroku 上的 Redis 自动将凭据设置为 .ENV var,以 URL 的形式:

如何让 Express-Gateway 从 .ENV 而不是读取凭据 system.config.yml?或者,如何system.config.yml从 .ENV 读取整个 URL?

更糟糕的是,凭据不是永久性的,并且会定期更改而不会发出警报。那么,如何让 Express-Gateway 连接到 Heroku 上的 Redis?

谢谢

0 投票
0 回答
204 浏览

python - Redis 连接返回 UnicodeError

我正在尝试使用 Python 3.8 连接到 Heroku Redis,以节省 Redis 字典和字符串。我正在尝试使用 Herokus Redis 作为 Telegram 机器人的持久性(库:python-telegram-bot 和 Telethon) 在 SET() 上调用 Redis 实例时,我收到以下错误:

我想知道错误是在连接到 Redis 时引起的(我只启动了一次连接,Heroku 可能正在更改 REDIS_URL)还是在尝试传入字典时...

这是 redis_connector 初始化器:

这是导致错误的代码行:

这是我试图通过的字典:

完整代码参考: https : //github.com/davidwickerhf/karim(特别是https://github.com/davidwickerhf/karim/blob/main/karim/classes/persistence.py,https://github.com /davidwickerhf/karim/blob/main/karim/classes/session_manager.pyhttps://github.com/davidwickerhf/karim/blob/main/karim/__init__.py - 文件被称为 redis 连接)

提前谢谢你的帮助

0 投票
3 回答
2750 浏览

node.js - 如何连接 Heroku Redis TLS 节点?

我似乎无法在 Node.js 上使用 TLS 连接到 Heroku Redis。

这些文档并没有太大帮助:https ://devcenter.heroku.com/articles/securing-heroku-redis

有没有人有一个工作的例子?我应该使用 REDIS_URL 还是 REDIS_TLS_URL?

我正在使用 node_redis v3

0 投票
0 回答
191 浏览

heroku - 删除 h 用户名后,带有 Django 频道的 Heroku Redis 不再工作

一段时间以来,我一直在使用 Heroku Redis 为 Django Channels 提供支持。我的旧的现有实施有效。我试图在管道中设置一个新应用程序,但是当我配置一个新的 Heroku Redis 资源时,它会在没有用户名的情况下生成它。当我尝试使用该 URI 连接 Channels 时,它给了我一个 104 错误。我可以将 URI 与旧应用程序中的 URI 交换并且它可以正常工作,所以我确定这是导致问题的新插件。我试过重置凭据,但没有解决问题。我也尝试过更新软件包

如何让频道使用没有用户名的 URI 进行连接?我可以强制用户名吗?我可以强制使用具有用户名的旧版本 Redis 吗?

0 投票
0 回答
31 浏览

node.js - Heroku Redis 使用 nodejs 开发

我正在开发反应应用程序,并使用 nodejs 作为后端。我在heroku上部署了项目,我使用了heroku-redis。现在我想开发一些功能。我如何在本地工作?当我尝试时,我看不到变化,当我在本地工作时,heroku 服务器崩溃了。我没有推送任何东西,但服务器崩溃了。我只想更改一些代码并再次推送。