···33DEV = bool(os.environ.get("DEV")) or False
44DATA_DIR = os.environ.get("DATA_DIR") or "./data"
55MIGRATIONS_DIR = os.environ.get("MIGRATIONS_DIR") or "./migrations"
66-PLC_HOST = os.environ.get("PLC_HOST") or "http://plc.directory"
66+PLC_HOST = os.environ.get("PLC_HOST") or "https://plc.wtf"
+7-3
main.py
···55from pathlib import Path
66from typing import Callable
7788+from database.connection import DatabasePool
89import env
910from database.migrations import DatabaseMigrator
1011from registry import create_input_service, create_output_service
···3435 finally:
3536 migrator.close()
36373838+ db_pool = DatabasePool(database_path)
3939+3740 LOGGER.info("Bootstrapping registries...")
3841 bootstrap()
3942···4851 if "outputs" not in settings:
4952 raise KeyError("No `outputs` spicified in settings!")
50535151- input = create_input_service(database_path, settings["input"])
5454+ input = create_input_service(db_pool, settings["input"])
5255 outputs = [
5353- create_output_service(database_path, data) for data in settings["outputs"]
5656+ create_output_service(db_pool, data) for data in settings["outputs"]
5457 ]
55585659 LOGGER.info("Starting task worker...")
···7275 thread = threading.Thread(target=worker, args=(task_queue,), daemon=True)
7376 thread.start()
74777575- LOGGER.info("Connecting to %s...", "TODO") # TODO
7878+ LOGGER.info("Connecting to %s...", input.url)
7679 try:
7780 asyncio.run(input.listen(outputs, lambda c: task_queue.put(c)))
7881 except KeyboardInterrupt:
···8184 task_queue.join()
8285 task_queue.put(None)
8386 thread.join()
8787+ db_pool.close()
848885898690if __name__ == "__main__":