Source code for redirectory.runnables.worker
from kubi_ecs_logger import Logger, Severity
from .runnable_service import RunnableService
from redirectory.libs_int.hyperscan import HsManager
from redirectory.libs_int.service import NamespaceManager
[docs]class WorkerService(RunnableService):
[docs] def run(self):
# Load hyperscan database
HsManager().database.load_database()
# Add the redirect
from redirectory.services import WorkerRedirect
self.api.add_resource(WorkerRedirect, "/", "/<path:content>")
# Get needed namespaces
worker_ns = NamespaceManager().get_namespace("worker")
status_ns = NamespaceManager().get_namespace("status")
# Add namespaces to api
self.api.add_namespace(worker_ns)
self.api.add_namespace(status_ns)
# Init api with application
self.api.init_app(self.application)
# Log
Logger() \
.event(category="runnable", action="service configured") \
.service(name="worker").out(severity=Severity.INFO)
# Run according to configuration
if self.config.deployment == "prod":
self._run_production(is_worker=True)
elif self.config.deployment == "dev":
self._run_development()
elif self.config.deployment == "test":
self._run_test()