set messages durable

This commit is contained in:
Thomas Peetz
2025-07-10 15:58:11 +02:00
parent ee280e0b8e
commit d2d4deb350
+18 -7
View File
@@ -35,24 +35,32 @@ class AddLinkMessage(MessagingHandler):
conn = event.container.connect(self.server, user="artemis", password="artemis")
event.container.create_sender(conn, self.address)
def on_connection_opened(self, event: Event) -> None:
self.log.debug("connection open")
def on_connection_error(self, event: Event) -> None:
self.log.info(f"error: {event}")
def on_sendable(self, event: Event):
self.log.info("send message")
event.sender.send(Message(body=self.url, address=self.address, content_type="application/json"))
event.connection.close()
message = Message(body=self.url, address=self.address, content_type="application/json", durable=True)
delivery = event.sender.send(message)
self.log.info(f"Delivery {delivery} sent")
event.sender.close()
event.connection.close()
def on_accepted(self, event: Event) -> None:
self.log.info(f"accepted: {event}")
self.log.info(f"accepted Delivery: {event.delivery}")
def on_rejected(self, event: Event) -> None:
self.log.info(f"rejected Delivery: {event.delivery}")
if __name__ == '__main__':
logging.basicConfig(level=logging.INFO, format='[%(asctime)s] {%(filename)s:%(lineno)d} %(levelname)s - %(message)s')
logging.info('kontor.read_list started')
conn = stomp.Connection([('127.0.0.1', '61616')])
conn.connect('artemis', 'artemis', wait=True)
#conn = stomp.Connection([('127.0.0.1', '61616')])
#conn.connect('artemis', 'artemis', wait=True)
if args.links:
logging.info("read links from file")
links = read_links_file(args.links)
@@ -60,8 +68,11 @@ if __name__ == '__main__':
data_dict = {'url': link.strip()}
data = json.dumps(data_dict)
logging.info("send link message")
Container(AddLinkMessage("amqp://127.0.0.1:5672", data, logging)).run()
handler = AddLinkMessage("amqp://127.0.0.1:5672", data, logging)
container = Container(handler)
container.container_id = "process_add_links"
container.run()
# conn.send(body=data, destination='KontorMediaFile::add_link_file', headers={'content-type': 'application/json'})
conn.disconnect()
#conn.disconnect()
logging.info('kontor.read_list finished')