add experiment for running manager inside webserver

This commit is contained in:
Luna 2020-02-12 21:22:27 -03:00
parent 4721e7b147
commit b099a2e762
2 changed files with 26 additions and 12 deletions

19
run.py
View File

@ -257,15 +257,24 @@ async def init_app_db(app_):
app_.sched = JobManager() app_.sched = JobManager()
def awooawoo():
print("awoo")
def init_app_managers(app_: Quart, *, init_voice=True): def init_app_managers(app_: Quart, *, init_voice=True):
"""Initialize singleton classes.""" """Initialize singleton classes."""
app.state = BaseManager(("", 36969), b"awooawoo") # app.state = BaseManager(("", 36969), b"awooawoo")
app.state.register("get_test") # app.state.register("get_test")
app.state.connect() # app.state.connect()
print(app.state) # print(app.state)
print(app.state.get_test()) # print(app.state.get_test())
manager = BaseManager(("", 36970), b"awooawoo")
manager.register("awooawoo", awooawoo)
app_.loop = asyncio.get_event_loop() app_.loop = asyncio.get_event_loop()
app_.loop.run_in_executor(None, manager.get_server().serve_forever)
app_.ratelimiter = RatelimitManager(app_.config.get("_testing")) app_.ratelimiter = RatelimitManager(app_.config.get("_testing"))
app_.state_manager = StateManager() app_.state_manager = StateManager()

View File

@ -9,13 +9,18 @@ def test():
def main(): def main():
logging.basicConfig(level=logging.DEBUG) # logging.basicConfig(level=logging.DEBUG)
manager = BaseManager(("", 36969), b"awooawoo") # manager = BaseManager(("", 36969), b"awooawoo")
manager.register("get_test", test) # manager.register("get_test", test)
server = manager.get_server() # server = manager.get_server()
print(repr(server)) # print(repr(server))
log.info("serving state service: %r", manager.address) # log.info("serving state service: %r", manager.address)
server.serve_forever() # server.serve_forever()
manager2 = BaseManager(("", 36970), b"awooawoo")
manager2.register("awooawoo")
manager2.connect()
manager2.awooawoo()
if __name__ == "__main__": if __name__ == "__main__":