Пример #1
0
 def load(self):
     """Load modules."""
     self.modules = self.loader.load_modules_from_config(self.config)
     _LOGGER.debug(_("Loaded %i skills"), len(self.modules["skills"]))
     self.setup_skills(self.modules["skills"])
     self.web_server = Web(self)
     self.web_server.setup_webhooks(self.skills)
     self.train_parsers(self.modules["skills"])
     if self.modules["databases"] is not None:
         self.start_databases(self.modules["databases"])
     self.start_connectors(self.modules["connectors"])
     self.cron_task = self.eventloop.create_task(parse_crontab(self))
     self.eventloop.create_task(self.web_server.start())
Пример #2
0
 def load(self):
     """Load modules."""
     self.modules = self.loader.load_modules_from_config(self.config)
     _LOGGER.debug(_("Loaded %i skills"), len(self.modules["skills"]))
     self.setup_skills(self.modules["skills"])
     self.web_server = Web(self)
     self.web_server.setup_webhooks(self.skills)
     self.train_parsers(self.modules["skills"])
     if self.modules["databases"] is not None:
         self.start_databases(self.modules["databases"])
     self.start_connectors(self.modules["connectors"])
     self.cron_task = self.eventloop.create_task(parse_crontab(self))
     self.eventloop.create_task(self.web_server.start())
Пример #3
0
    async def start(self):
        """Create tasks and then run all created tasks concurrently."""
        if len(self.skills) == 0:
            self.critical(_("No skills in configuration, at least 1 required"), 1)

        await self.start_connectors()
        self.create_task(self.start_databases())
        self.create_task(self.watch_paths())
        self.create_task(parse_crontab(self))
        self.create_task(self.web_server.start())

        self.create_task(self.parse(events.OpsdroidStarted()))

        await self._run_tasks()
Пример #4
0
    async def load(self):
        """Load modules."""
        self.modules = self.loader.load_modules_from_config(self.config)
        _LOGGER.debug(_("Loaded %i skills."), len(self.modules["skills"]))
        self.web_server = Web(self)
        await self.start_databases(self.modules["databases"])
        await self.start_connectors(self.modules["connectors"])
        self.setup_skills(self.modules["skills"])
        self.web_server.setup_webhooks(self.skills)
        await self.train_parsers(self.modules["skills"])
        self.cron_task = self.eventloop.create_task(parse_crontab(self))
        self.eventloop.create_task(self.web_server.start())

        self.eventloop.create_task(self.parse(events.OpsdroidStarted()))
Пример #5
0
 def start_loop(self):
     """Start the event loop."""
     connectors, databases, skills = \
         self.loader.load_modules_from_config(self.config)
     _LOGGER.debug("Loaded %i skills", len(skills))
     if databases is not None:
         self.start_databases(databases)
     self.setup_skills(skills)
     self.start_connector_tasks(connectors)
     self.eventloop.create_task(parse_crontab(self))
     self.web_server.start()
     try:
         pending = asyncio.Task.all_tasks()
         self.eventloop.run_until_complete(asyncio.gather(*pending))
     except RuntimeError as error:
         if str(error) != 'Event loop is closed':
             raise error
     finally:
         self.eventloop.close()