У меня есть веб-браузер, работающий на нескольких процессорах и пишущий в базу данных sqlite.Поскольку Sqlite не предназначен для обработки одновременных записей, я хочу использовать систему очередей, которая может обрабатывать несколько входов, и только 1 объект записывает в базу данных
Я прошел пример с RabbitMQ hello world и получил ошибку.
Мой send.py
файл:
from models import TestCan
from models import TestJobs
import pika
# init_db()
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.basic_publish(exchange='',
routing_key='hello',
body=TestCan('Test'))
Файл models.py
с TestCan
:
class TestCan(Base):
__tablename__ = 'test_can'
id = Column(Integer, primary_key=True)
name = Column(String())
def __init__(self, name=None):
self.name = name
def __repr__(self):
return '<Name: %s>' % (self.name)
Я получаю эту ошибку:
TypeError: object of type 'TestCan' has no len()
Что это значит?