# -*- coding: utf-8 -*- import queue from collections import namedtuple from datetime import datetime, timedelta from multiprocessing import Process, Queue, freeze_support import _ed_lrr class Router(Process): def __init__(self, *args, **kwargs): super().__init__() self.state = {} self.queue = Queue() self.daemon = True self.args = args self.kwargs = kwargs self.kwargs["callback"] = self.callback def callback(self, state): self.queue.put({"status": state}) def run(self): print("Route(): ", self.args, self.kwargs) route = _ed_lrr.route(*self.args, **self.kwargs) self.queue.put({"return": route}) if __name__ == "__main__": freeze_support() r = Router( ["Ix", "Beagle Point"], 48, "BFS", False, False, None, None, r"D:\devel\rust\ED_LRR\stars.csv", ) for e in r: print(e)