redis.exceptions.DataError: Неверный ввод типа: 'NoneType'. Сначала преобразуйте в байт, строку или число - PullRequest
0 голосов
/ 17 января 2019

Я недавно начал использовать Redis и RQ для запуска фоновых процессов. Я создал приложение Dash, которое отлично работает на Heroku и раньше также работало локально. Недавно я попытался снова протестировать то же приложение локально и продолжаю получать следующую ошибку - хотя я использую точно такой же код, размещенный на Heroku:

redis.exceptions.DataError: Invalid input of type: 'NoneType'. Convert to a byte, string or number first.

В моем файле require.txt и в виртуальном окружении на Ubuntu 18.04 у меня есть redis v.3.0.1, rq 0.13.0

Когда я запускаю redis-server на своем терминале, я вижу, что используется Redis 4.0.9 (это меня тоже смущает).

Я пытался два дня искать в Google, но безрезультатно.

Кто-нибудь имеет представление о том, что могло произойти и как решить эту ошибку?

Вот полный релевантный след:

File "/home/tom/dashenv/pb101_models/pages/cumulative_culture.py", line 1026, in stop_or_start_update
  job = q.fetch_job(job_id)
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/rq/queue.py", line 142, in fetch_job
  self.remove(job_id)
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/rq/queue.py", line 186, in remove
  return self.connection.lrem(self.key, 1, job_id)
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/redis/client.py", line 1580, in lrem
  return self.execute_command('LREM', name, count, value)
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/redis/client.py", line 754, in execute_command
  connection.send_command(*args)
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/redis/connection.py", line 619, in send_command
  self.send_packed_command(self.pack_command(*args))
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/redis/connection.py", line 659, in pack_command
  for arg in imap(self.encoder.encode, args):
File "/home/tom/dashenv/dash/lib/python3.6/site-packages/redis/connection.py", line 124, in encode
  "byte, string or number first." % typename)
redis.exceptions.DataError: Invalid input of type: 'NoneType'. Convert to a byte, string or number first.

Заранее спасибо за любые предложения / подсказки.

Всего наилучшего, Том

1 Ответ

0 голосов
/ 19 февраля 2019

Проверьте эту ссылку: redis 3.0 Это говорит о том, что redis-py больше не принимает NoneType

...