аргумент mktime вне диапазона - PullRequest
1 голос
/ 26 марта 2019

Я использую Azure-SDK для Python специально Azure-Servicebus 0.50.0

from azure.servicebus import QueueClient
service_bus_queue_connectionString= "my service bus string"
service_bus_queue_name ="service bus queue"
queue_client = QueueClient.from_connection_string(service_bus_queue_connectionString, service_bus_queue_name)
sessions= queue_client.list_sessions() print(sessions)

При использовании следующего кода я получаю следующую ошибку

Произошло исключение типа OverflowError. Аргументы: ('mktime аргумент вне диапазона ',)

В чем может быть причина?

EDIT Пожалуйста, найдите трассировку стека. Любая помощь будет оценена.

File "C:\Users\NewtonCode\Desktop\EY.TPBML.PY - Copy\model_engine.py", line 28, in start_process
    sessions = self.queue_client.list_sessions()
  File "C:\Users\NewtonCode\AppData\Local\Continuum\anaconda3\lib\site-packages\azure\servicebus\servicebus_client.py", line 469, in list_sessions
    mgmt_handlers.list_sessions_op)
  File "C:\Users\NewtonCode\AppData\Local\Continuum\anaconda3\lib\site-packages\azure\servicebus\base_handler.py", line 83, in _mgmt_request_response
    **kwargs))
  File "C:\Users\NewtonCode\AppData\Local\Continuum\anaconda3\lib\site-packages\uamqp\message.py", line 109, in __init__
    self._body.set(body)
  File "C:\Users\NewtonCode\AppData\Local\Continuum\anaconda3\lib\site-packages\uamqp\message.py", line 913, in set
    value = utils.data_factory(value)
  File "C:\Users\NewtonCode\AppData\Local\Continuum\anaconda3\lib\site-packages\uamqp\utils.py", line 108, in data_factory
    wrapped_dict[data_factory(key, encoding=encoding)] = data_factory(item, encoding=encoding)
  File "C:\Users\NewtonCode\AppData\Local\Continuum\anaconda3\lib\site-packages\uamqp\utils.py", line 117, in data_factory
    timestamp = int((time.mktime(value.utctimetuple()) * 1000) + (value.microsecond/1000))
OverflowError: mktime argument out of range

1 Ответ

2 голосов
/ 27 марта 2019

Спасибо, что подняли эту проблему - это похоже на ошибку в библиотеке.

Хотя это не решение - я открыл проблему в базовой библиотеке uAMQP здесь: https://github.com/Azure/azure-uamqp-python/issues/63

В то же время вы можете обойти эту проблему, передав отметку времени «updated-since» в операцию list_sessions:

# Start time of a week ago - replace with appropriate value
start_time = datetime.datetime.now() - datetime.timedelta(weeks=1)
sessions = queue_client.list_sessions(updated_since=start_time)

Еще раз спасибо, я постараюсь опубликовать исправление как можно скорее!:)

...