【问题标题】:Timeout value must be int,Float or None超时值必须是 int、Float 或 None
【发布时间】:2020-01-28 07:20:20
【问题描述】:

我正在尝试使用环境变量在 python 代码中设置 backoff_factor 的值。

之后我尝试从我的 crateDB 代码中调用 backoff_factor 并抛出以下错误:ValueError: Timeout value connect was backoff_factor, but it must be an int, float or None.

我想要连接数据库的重试间隔。

请参考以下链接:

我在这里设置导出'backoff_factor'=0.1https://github.com/smartsdk/ngsi-timeseries-api/blob/master/setup_dev_env.sh

使用 os 模块在我的源代码中的crate.py 文件中使用backoff_factorhttps://github.com/smartsdk/ngsi-timeseries-api/blob/dc565af24b303a94f7c298b2567e62487088de3b/src/translators/crate.py#L64

  def setup(self):
        environ.get('backoff_factor')
        url = "{}:{}".format(self.host, self.port)
        self.conn = client.connect([url],'backoff_factor')
        self.cursor = self.conn.cursor()

我也尝试升级 urllib3 和请求版本,但没有成功。 任何帮助将不胜感激。谢谢

【问题讨论】:

    标签: python-3.x python-requests urllib3


    【解决方案1】:

    错误消息似乎很清楚:backoff_factor 必须是一个数字或None,并且您正在传递一个字符串:

    1. 环境变量总是字符串,您必须将它们显式转换为数字,Python 很少执行隐式类型转换。
    2. 你甚至没有将你定义的backoff_factor传递给connectenviron.get()返回值但你没有分配它,然后你将文字字符串'backoff_factor'传递给connect
    3. 您对 API 的使用也似乎很奇怪,我找不到任何 backoff_factor 参数 in the cratedb documentation 但如果有样式,它会是一个 关键字参数(又名 @ 987654328@)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-07
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 2023-03-09
      • 1970-01-01
      • 2020-04-24
      相关资源
      最近更新 更多