@MakarExp

Как поместить объект в очередь?

Ранее, код спокойно выполнялся и всё было хорошо. Затем, резко начало ругаться на то, что кладу объекты в очередь. В чём проблема и как это решить?

manager = multiprocessing.Manager()
    queues = {type_check: manager.Queue() for type_check in Config.check.values()}

    for offer in offers.values():
        print(offer)
        queues[Config.check[offer.get_check_type()]].put(offer)


Traceback (most recent call last):                                                     
  File "/home/offers/service/main.py", line 97, in <module>                            
    queues[Config.check[offer.get_check_type()]].put(offer)                            
  File "<string>", line 2, in put                                                      
  File "/usr/local/lib/python3.9/multiprocessing/managers.py", line 809, in _callmethod
    conn.send((self._id, methodname, args, kwds))                                      
  File "/usr/local/lib/python3.9/multiprocessing/connection.py", line 211, in send
    self._send_bytes(_ForkingPickler.dumps(obj))
  File "/usr/local/lib/python3.9/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
TypeError: cannot pickle '_thread.RLock' object
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
@MakarExp Автор вопроса
Проблема была в том, что питон закэшировал файлы и что-то пошло не так с ними. Удалил pycache и всё заработало
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
25 нояб. 2024, в 02:45
2000 руб./за проект
24 нояб. 2024, в 23:46
20000 руб./за проект