Skip to content

Commit

Permalink
file_manager: delay file observer initialization
Browse files Browse the repository at this point in the history
The addition of "gcode file processors" makes it possible
for processor registration to occur in "component_init".
The file observer init must be delayed until after all processors
are registered to correctly process metadata for gcode files
added while Moonraker was not running.

Signed-off-by:  Eric Callahan <[email protected]>
  • Loading branch information
Arksine committed Feb 17, 2025
1 parent be210ed commit 6778d04
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
4 changes: 3 additions & 1 deletion moonraker/components/file_manager/file_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def __init__(self, config: ConfigHelper) -> None:
if prune:
self.gcode_metadata.prune_storage()

async def component_init(self):
def start_file_observer(self):
self.fs_observer.initialize()

def _update_fixed_paths(self) -> None:
Expand Down Expand Up @@ -1889,6 +1889,8 @@ def add_root_watch(self, root: str, root_path: str) -> None:
self._notify_root_updated, mevts, root, root_path)

def initialize(self) -> None:
if self.initialized:
return
for root, node in self.watched_roots.items():
try:
evts = node.scan_node()
Expand Down
7 changes: 7 additions & 0 deletions moonraker/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,13 @@ async def server_init(self, start_server: bool = True) -> None:
if optional_comps:
await asyncio.gather(*optional_comps)

# Wait until all components are initialized to start the file
# observer. This allows other components to register gcode file
# processors before metadata is processed for gcode files that
# do not have a metadata entry.
file_manager: FileManager = self.lookup_component("file_manager")
file_manager.start_file_observer()

if not self.warnings:
await self.event_loop.run_in_thread(self.config.create_backup)

Expand Down

0 comments on commit 6778d04

Please sign in to comment.