Redis.exceptions.ResponseError: WRONGTYPE Операция с ключом, содержащим значение неправильного типа

Я работаю над приложением для фондового рынка, где я передаю все обратные вызовы из подписки на ордера в очередь redis, а затем выполняю дальнейшие действия на основе выполненного ордера.

    for OrderQId in scriptSeries.OrderQId:
        if OrderQId is not None:
            mq = MessageQueue(OrderQId)
            mq.clearQueue() 

используя пользовательский ласс MessageQueue, в котором я реализовал все методы redis.

class MessageQueue():
    def __init__(self, QueueId):    
        self.QueueId = QueueId
        self.Redis = StrictRedis()
        # self.Redis = StrictRedis(host=settings.REDIS_HOST, port=settings.REDIS_PORT, db=settings.REDIS_DB, charset="utf-8", decode_responses=True)

current position of keys

while poping out element

при очистке очереди путем вытаскивания элемента выкидывает "redis.exceptions.ResponseError: WRONGTYPE Операция с ключом, содержащим значение неправильного типа"

делится текущей ситуацией с ключами и пробовал передавать двоичное значение с кодировкой utf, но безуспешно. также пробовал с redis и stricredis

тот же код работает в моем коде .ipynb на той же системе.

также нижеприведенный код с redis.io работает нормально.

res1 = r.lpush("bikes:repairs", "bike:1")
print(res1)  # >>> 1

res2 = r.lpush("bikes:repairs", "bike:2")
print(res2)  # >>> 2

res3 = r.rpop("bikes:repairs")
print(res3)  # >>> bike:1

res4 = r.rpop("bikes:repairs")
print(res4)  # >>> bike:2

Не уверен, что я делаю неправильно.

Вернуться на верх