Значение времени ожидания должно быть int, Float или None - PullRequest
0 голосов
/ 28 января 2020

Я пытался установить значение backoff_factor в python коде, используя переменную окружения.

После этого я пытаюсь вызвать backoff_factor из моего кода crateDB и он выдает следующую ошибку: ValueError: Timeout value connect was backoff_factor, but it must be an int, float or None.

Я хотел, чтобы интервал между попытками соединялся с базой данных.

Пожалуйста, обратитесь к ссылкам ниже для того же:

Я настройка экспорта 'backoff_factor'=0.1 здесь: https://github.com/smartsdk/ngsi-timeseries-api/blob/master/setup_dev_env.sh

Использование файла backoff_factor в crate.py в моем исходном коде с использованием модуля os: https://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 и запросить версию, но не получилось. Любая помощь будет ощутимой. Спасибо

1 Ответ

1 голос
/ 28 января 2020

Сообщение об ошибке кажется ясным: backoff_factor должен быть числом или None, и вы передаете строку:

  1. переменные окружения являются строками, всегда их нужно преобразовать в числа явно , Python редко выполняет неявные преобразования типов.
  2. вы даже не передаете заданный здесь обратный_фактор connect, environ.get() возвращает значение, но вы его не присваиваете, и тогда вы ' Передача буквенной строки 'backoff_factor' в connect.
  3. ваше использование API также кажется странным, я не могу найти backoff_factor параметр в документации cratedb , но с учетом стиль, если бы он был, это был бы параметр ключевого слова (он же client.connect(url, backoff_factor=...))
...