【问题标题】:MongoDB Atlas connection doesn't work on HerokuMongoDB Atlas 连接在 Heroku 上不起作用
【发布时间】:2019-12-04 12:32:03
【问题描述】:

我正在为服务器创建一个 discord.py 机器人。我正在寻找免费的 VPS,但我找到了一个 Heroku。我学会了如何使用它,并将我的另一个机器人托管了几个小时。然后我使用 MongoDB Atlas 数据库创建了另一个机器人。问题是,当我想使用必须使用数据库的命令时,它不起作用并且会发送错误。其他命令有效

我做了一些研究,但在一些论坛上,他们说不提供信用卡详细信息是不可能的,有些人说有可能,但没有说明如何。

这是我从 heroku 日志中得到的错误:

Traceback (most recent call last):
2019-07-25T19:08:37.808124+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/discord/ext/commands/bot.py", line 863, in invoke
2019-07-25T19:08:37.808126+00:00 app[worker.1]:     await ctx.command.invoke(ctx)
2019-07-25T19:08:37.808132+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/discord/ext/commands/core.py", line 728, in invoke
2019-07-25T19:08:37.808133+00:00 app[worker.1]:     await injected(*ctx.args, **ctx.kwargs)
2019-07-25T19:08:37.808134+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.7/site-packages/discord/ext/commands/core.py", line 88, in wrapped
2019-07-25T19:08:37.808136+00:00 app[worker.1]:     raise CommandInvokeError(exc) from exc
2019-07-25T19:08:37.808165+00:00 app[worker.1]: discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ServerSelectionTimeoutError: connection closed,connection closed,connection closed

【问题讨论】:

    标签: python mongodb heroku discord.py mongodb-atlas


    【解决方案1】:

    如果您仅将本地 IP 列入白名单,则可能会出现此问题。牺牲安全性的一个简单解决方法是将 MongoDB Atlas 集群中的任何 IP (0.0.0.0/0) 列入白名单。或者您可以使用 VPC 对等互连。

    【讨论】:

      【解决方案2】:

      我知道你已经找到 Heroku,我个人会使用 repl.it,因为它不需要任何钱,而且运行时间很长,支持很好。与 Heroku 不同,您可以长时间运行该机器人。

      如果您不喜欢切换,您是否在 requirements.txt 中使用了pymongo

      【讨论】:

        【解决方案3】:

        这很可能是 SSL 证书错误。您可以在托管数据库时设置自己的 ssl_certfile 选项 - 您可以找到与该 here 相关的文档。

        如果不是这样,我建议查看您的服务器日志文件并检查那里的错误。

        希望这会有所帮助!

        【讨论】:

          猜你喜欢
          • 2021-04-05
          • 2019-08-11
          • 1970-01-01
          • 2020-10-07
          • 2019-12-16
          • 2019-10-17
          • 2021-04-05
          • 2018-12-26
          • 1970-01-01
          相关资源
          最近更新 更多