1from importlib import import_module
2from importlib.util import find_spec
3
4from plain.packages import PackageConfig, packages_registry, register_config
5
6from .registry import jobs_registry
7
8JOBS_MODULE_NAME = "jobs"
9
10
11@register_config
12class Config(PackageConfig):
13 package_label = "plainworker"
14
15 def ready(self):
16 # Trigger register calls to fire by importing the modules
17 for package_config in packages_registry.get_package_configs():
18 module_name = f"{package_config.name}.{JOBS_MODULE_NAME}"
19 if find_spec(module_name):
20 import_module(module_name)
21
22 # Also need to make sure out internal jobs are registered
23 import_module("plain.worker.scheduling")
24
25 jobs_registry.ready = True