2026-07-17 12:15:19 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 12:15:19 | INFO | __main__:cmd_start_daemon - Starting daemon from CLI 2026-07-17 12:15:19 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 12:15:19 | INFO | daemon.automation_daemon:__init__ - Initializing Frank Automation Daemon 2026-07-17 12:15:19 | INFO | daemon.automation_daemon:__init__ - Running on host: W1251000160 2026-07-17 12:15:19 | INFO | core.database:_sync_config_from_remote - Config synced from remote B (6 tables) 2026-07-17 12:15:19 | INFO | core.database:__init__ - Database split mode — local: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank_local.db | remote: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank.db 2026-07-17 12:15:19 | INFO | daemon.notification_manager:__init__ - NotificationManager initialized (enabled: True) 2026-07-17 12:15:19 | INFO | daemon.job_executor:__init__ - JobExecutor initialized 2026-07-17 12:15:19 | INFO | daemon.dependency_manager:__init__ - DependencyManager initialized 2026-07-17 12:15:19 | INFO | daemon.automation_daemon:_load_modules - Loading automation modules... 2026-07-17 12:15:19 | INFO | daemon.automation_daemon:_load_modules - ✓ Scheduler module loaded 2026-07-17 12:15:19 | INFO | modules.backup.backup_module:__init__ - BackupModule initialized 2026-07-17 12:15:19 | INFO | daemon.automation_daemon:_load_modules - ✓ Backup module loaded 2026-07-17 12:15:19 | INFO | daemon.automation_daemon:_load_modules - Loaded 2 module(s) 2026-07-17 12:15:23 | INFO | daemon.automation_daemon:__init__ - Automation Daemon initialized 2026-07-17 12:15:23 | INFO | daemon.automation_daemon:start - Starting Automation Daemon 2026-07-17 12:15:23 | INFO | daemon.automation_daemon:_load_schedules - Loading 9 enabled schedule(s) 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Backup' (ID 6): backup_profile 1 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check doppi Gemma' (ID 7): job 7 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check prodotti acquistati' (ID 8): job 8 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'GemmaReport weekly' (ID 23): job 20 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'ImdbUpdate' (ID 10): job 9 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OMDB Batch Enrich' (ID 22): job 19 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OsservatorioReport weekly' (ID 24): job 21 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for Outlook Frank filtro' (ID 19): job 18 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for ReportPdf' (ID 14): job 13 with cron 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:start - Automation Daemon started successfully 2026-07-17 12:15:24 | INFO | daemon.automation_daemon:start - Loaded 9 schedule(s) 2026-07-17 12:18:31 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 12:18:31 | INFO | __main__:cmd_start_daemon - Starting daemon from CLI 2026-07-17 12:18:31 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:__init__ - Initializing Frank Automation Daemon 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:__init__ - Running on host: W1251000160 2026-07-17 12:18:31 | INFO | core.database:_sync_config_from_remote - Config synced from remote B (6 tables) 2026-07-17 12:18:31 | INFO | core.database:__init__ - Database split mode — local: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank_local.db | remote: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank.db 2026-07-17 12:18:31 | INFO | daemon.notification_manager:__init__ - NotificationManager initialized (enabled: True) 2026-07-17 12:18:31 | INFO | daemon.job_executor:__init__ - JobExecutor initialized 2026-07-17 12:18:31 | INFO | daemon.dependency_manager:__init__ - DependencyManager initialized 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_load_modules - Loading automation modules... 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_load_modules - ✓ Scheduler module loaded 2026-07-17 12:18:31 | INFO | modules.backup.backup_module:__init__ - BackupModule initialized 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_load_modules - ✓ Backup module loaded 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_load_modules - Loaded 2 module(s) 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:__init__ - Automation Daemon initialized 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:start - Starting Automation Daemon 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_load_schedules - Loading 9 enabled schedule(s) 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Backup' (ID 6): backup_profile 1 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check doppi Gemma' (ID 7): job 7 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check prodotti acquistati' (ID 8): job 8 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'GemmaReport weekly' (ID 23): job 20 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'ImdbUpdate' (ID 10): job 9 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OMDB Batch Enrich' (ID 22): job 19 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OsservatorioReport weekly' (ID 24): job 21 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for Outlook Frank filtro' (ID 19): job 18 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for ReportPdf' (ID 14): job 13 with cron 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:start - Automation Daemon started successfully 2026-07-17 12:18:31 | INFO | daemon.automation_daemon:start - Loaded 9 schedule(s) 2026-07-17 12:21:01 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0001) 2026-07-17 12:21:01 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0002) 2026-07-17 12:21:31 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: azione negata 'delete_file' (id=req-0003) 2026-07-17 12:25:32 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0001) 2026-07-17 12:25:32 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0002) 2026-07-17 12:25:32 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: azione negata 'delete_file' (id=req-0003) 2026-07-17 12:26:32 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: errore list_dir (id=req-0004): [WinError 3] Impossibile trovare il percorso specificato: 'W:\\' 2026-07-17 12:26:32 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: errore list_dir (id=req-0005): [WinError 3] Impossibile trovare il percorso specificato: 'X:\\' 2026-07-17 12:28:32 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0006) 2026-07-17 12:28:32 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0007) 2026-07-17 12:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 12:30:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3209) 2026-07-17 12:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3209) 2026-07-17 12:30:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3209) 2026-07-17 12:30:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3209, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 12:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 12:45:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3210) 2026-07-17 12:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3210) 2026-07-17 12:45:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3210) 2026-07-17 12:45:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3210, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 13:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 13:00:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3211) 2026-07-17 13:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3211) 2026-07-17 13:00:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3211) 2026-07-17 13:00:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3211, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 13:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 13:15:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3212) 2026-07-17 13:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3212) 2026-07-17 13:15:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3212) 2026-07-17 13:15:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3212, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 13:31:51 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 13:31:51 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 19 2026-07-17 13:31:51 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3213) 2026-07-17 13:31:51 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3213) 2026-07-17 13:31:51 | INFO | daemon.job_executor:execute_job - Queued job 'OMDB Batch Enrich' (execution ID 3214) 2026-07-17 13:31:51 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 19 queued for execution (execution ID 3214) 2026-07-17 13:31:51 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3213) 2026-07-17 13:31:51 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3213, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 13:31:51 | INFO | daemon.job_executor:_run_job - Starting job 'OMDB Batch Enrich' (execution 3214) 2026-07-17 13:31:51 | ERROR | daemon.job_executor:_run_job - Error executing job 'OMDB Batch Enrich': [WinError 2] Impossibile trovare il file specificato Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3214, {'id': 19, 'name': 'OMDB Batch Enrich', 'description': 'Scarica dati OMDB per prodotti con codice_imdb non ancora arri... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\PYTHON\\omdb_enrich\\omdb_batch_enrich.bat'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ 'C:\\PYTHON\\omdb_enrich\\omdb_batch_enrich.bat' │ │ └ None │ └ FileNotFoundError: [WinError 2] Impossibile trovare il file specificato 2026-07-17 13:48:22 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 13:48:22 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3215) 2026-07-17 13:48:22 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3215) 2026-07-17 13:48:22 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3215) 2026-07-17 13:48:22 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3215, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 13:53:40 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0010) 2026-07-17 14:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 14:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_backup - Triggered scheduled execution of backup profile ID 1 2026-07-17 14:00:00 | INFO | modules.backup.backup_module:schedule_item - Schedule 6 triggered for backup profile 1 2026-07-17 14:00:00 | ERROR | modules.backup.backup_module:get_engine - Failed to create backup engine for profile 1: [WinError 3] Impossibile trovare il percorso specificato: 'D:\\' 2026-07-17 14:00:00 | ERROR | modules.backup.backup_module:execute_backup - Failed to create backup engine for profile 1 2026-07-17 14:00:00 | ERROR | daemon.automation_daemon:_execute_scheduled_backup - Backup profile ID 1 failed: Failed to create backup engine for profile 1 2026-07-17 14:00:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3216) 2026-07-17 14:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3216) 2026-07-17 14:00:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3216) 2026-07-17 14:00:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3216, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 14:01:20 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 14:01:20 | INFO | __main__:cmd_start_daemon - Starting daemon from CLI 2026-07-17 14:01:20 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 14:01:20 | INFO | daemon.automation_daemon:__init__ - Initializing Frank Automation Daemon 2026-07-17 14:01:20 | INFO | daemon.automation_daemon:__init__ - Running on host: W1251000160 2026-07-17 14:01:20 | INFO | core.database:_sync_config_from_remote - Config synced from remote B (6 tables) 2026-07-17 14:01:20 | INFO | core.database:__init__ - Database split mode — local: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank_local.db | remote: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank.db 2026-07-17 14:01:20 | INFO | daemon.notification_manager:__init__ - NotificationManager initialized (enabled: True) 2026-07-17 14:01:20 | INFO | daemon.job_executor:__init__ - JobExecutor initialized 2026-07-17 14:01:20 | INFO | daemon.dependency_manager:__init__ - DependencyManager initialized 2026-07-17 14:01:20 | INFO | daemon.automation_daemon:_load_modules - Loading automation modules... 2026-07-17 14:01:20 | INFO | daemon.automation_daemon:_load_modules - ✓ Scheduler module loaded 2026-07-17 14:01:20 | INFO | modules.backup.backup_module:__init__ - BackupModule initialized 2026-07-17 14:01:20 | INFO | daemon.automation_daemon:_load_modules - ✓ Backup module loaded 2026-07-17 14:01:20 | INFO | daemon.automation_daemon:_load_modules - Loaded 2 module(s) 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:__init__ - Automation Daemon initialized 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:start - Starting Automation Daemon 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_load_schedules - Loading 9 enabled schedule(s) 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Backup' (ID 6): backup_profile 1 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check doppi Gemma' (ID 7): job 7 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check prodotti acquistati' (ID 8): job 8 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'GemmaReport weekly' (ID 23): job 20 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'ImdbUpdate' (ID 10): job 9 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OMDB Batch Enrich' (ID 22): job 19 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OsservatorioReport weekly' (ID 24): job 21 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for Outlook Frank filtro' (ID 19): job 18 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for ReportPdf' (ID 14): job 13 with cron 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:start - Automation Daemon started successfully 2026-07-17 14:01:26 | INFO | daemon.automation_daemon:start - Loaded 9 schedule(s) 2026-07-17 14:02:56 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: errore parquet_group_count (id=req-0011): 'group_by' 2026-07-17 14:02:56 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: errore parquet_group_count (id=req-0012): 'group_by' 2026-07-17 14:03:32 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK parquet_group_count (id=req-0013) 2026-07-17 14:03:32 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK parquet_group_count (id=req-0014) 2026-07-17 14:11:05 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 14:11:05 | INFO | __main__:cmd_start_daemon - Starting daemon from CLI 2026-07-17 14:11:05 | INFO | core.logger:setup_logging - Logging initialized for component 'daemon' at level INFO 2026-07-17 14:11:05 | INFO | daemon.automation_daemon:__init__ - Initializing Frank Automation Daemon 2026-07-17 14:11:05 | INFO | daemon.automation_daemon:__init__ - Running on host: W1251000160 2026-07-17 14:11:05 | INFO | core.database:_sync_config_from_remote - Config synced from remote B (6 tables) 2026-07-17 14:11:05 | INFO | core.database:__init__ - Database split mode — local: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank_local.db | remote: C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\data\frank.db 2026-07-17 14:11:05 | INFO | daemon.notification_manager:__init__ - NotificationManager initialized (enabled: True) 2026-07-17 14:11:05 | INFO | daemon.job_executor:__init__ - JobExecutor initialized 2026-07-17 14:11:05 | INFO | daemon.dependency_manager:__init__ - DependencyManager initialized 2026-07-17 14:11:05 | INFO | daemon.automation_daemon:_load_modules - Loading automation modules... 2026-07-17 14:11:05 | INFO | daemon.automation_daemon:_load_modules - ✓ Scheduler module loaded 2026-07-17 14:11:05 | INFO | modules.backup.backup_module:__init__ - BackupModule initialized 2026-07-17 14:11:05 | INFO | daemon.automation_daemon:_load_modules - ✓ Backup module loaded 2026-07-17 14:11:05 | INFO | daemon.automation_daemon:_load_modules - Loaded 2 module(s) 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:__init__ - Automation Daemon initialized 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:start - Starting Automation Daemon 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_load_schedules - Loading 9 enabled schedule(s) 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Backup' (ID 6): backup_profile 1 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check doppi Gemma' (ID 7): job 7 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check prodotti acquistati' (ID 8): job 8 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'GemmaReport weekly' (ID 23): job 20 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'ImdbUpdate' (ID 10): job 9 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OMDB Batch Enrich' (ID 22): job 19 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OsservatorioReport weekly' (ID 24): job 21 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for Outlook Frank filtro' (ID 19): job 18 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for ReportPdf' (ID 14): job 13 with cron 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:start - Automation Daemon started successfully 2026-07-17 14:11:06 | INFO | daemon.automation_daemon:start - Loaded 9 schedule(s) 2026-07-17 14:12:36 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: errore duckdb_query (id=req-0015): 'sql' 2026-07-17 14:13:06 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK duckdb_query (id=req-0016) 2026-07-17 14:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 14:15:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3217) 2026-07-17 14:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3217) 2026-07-17 14:15:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3217) 2026-07-17 14:15:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3217, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 14:16:37 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK duckdb_query (id=req-0017) 2026-07-17 14:19:39 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK duckdb_query (id=req-0018) 2026-07-17 14:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 14:30:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3218) 2026-07-17 14:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3218) 2026-07-17 14:30:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3218) 2026-07-17 14:30:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3218, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 14:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 14:45:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3219) 2026-07-17 14:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3219) 2026-07-17 14:45:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3219) 2026-07-17 14:45:00 | ERROR | daemon.job_executor:_run_job - Error executing job 'Outlook Frank filtro': [WinError 267] Nome di directory non valido Traceback (most recent call last): File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1002, in _bootstrap self._bootstrap_inner() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1045, in _bootstrap_inner self.run() │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 982, in run self._target(*self._args, **self._kwargs) │ │ │ │ │ └ {} │ │ │ │ └ │ │ │ └ (3219, {'id': 18, 'name': 'Outlook Frank filtro', 'description': None, 'job_type': 'script', 'executable_path': 'modules/outl... │ │ └ │ └ > └ > File "C:\Users\Mauro Gagliardi\Dropbox\adrian\PYTHON\Frank\daemon\job_executor.py", line 216, in _run_job process = subprocess.Popen( │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1026, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, │ │ │ │ │ └ True │ │ │ │ └ None │ │ │ └ None │ │ └ ['C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe', 'modules/outlook/run_filter.py'] │ └ File "C:\Users\Mauro Gagliardi\AppData\Local\Programs\Python\Python311\Lib\subprocess.py", line 1538, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, │ │ │ └ '"C:\\Users\\Mauro Gagliardi\\Dropbox\\adrian\\PYTHON\\_runtimes\\venv\\Scripts\\python.exe" modules/outlook/run_filter.py' │ │ └ None │ └ NotADirectoryError: [WinError 267] Nome di directory non valido 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_check_remote_config_version - Config version changed on remote B (16 → 17) — resyncing 2026-07-17 14:53:45 | INFO | core.database:_sync_config_from_remote - Config synced from remote B (6 tables) 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_reload_schedules - Reloading schedules from local DB 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_load_schedules - Loading 9 enabled schedule(s) 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Backup' (ID 6): backup_profile 1 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check doppi Gemma' (ID 7): job 7 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Check prodotti acquistati' (ID 8): job 8 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'GemmaReport weekly' (ID 23): job 20 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'ImdbUpdate' (ID 10): job 9 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OMDB Batch Enrich' (ID 22): job 19 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'OsservatorioReport weekly' (ID 24): job 21 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for Outlook Frank filtro' (ID 19): job 18 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_schedule_item - Scheduled 'Schedule for ReportPdf' (ID 14): job 13 with cron 2026-07-17 14:53:45 | INFO | daemon.automation_daemon:_reload_schedules - Schedules reloaded: 9 active 2026-07-17 15:02:53 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 15:02:53 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3220) 2026-07-17 15:02:53 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3220) 2026-07-17 15:02:53 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3220) 2026-07-17 15:02:57 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 3.8s 2026-07-17 15:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 15:15:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3221) 2026-07-17 15:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3221) 2026-07-17 15:15:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3221) 2026-07-17 15:15:02 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 2.5s 2026-07-17 15:30:50 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 15:30:50 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3222) 2026-07-17 15:30:50 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3222) 2026-07-17 15:30:50 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3222) 2026-07-17 15:30:51 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.4s 2026-07-17 15:47:24 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 15:47:24 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3223) 2026-07-17 15:47:24 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3223) 2026-07-17 15:47:24 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3223) 2026-07-17 15:47:24 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.7s 2026-07-17 16:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 13 2026-07-17 16:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 16:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_backup - Triggered scheduled execution of backup profile ID 1 2026-07-17 16:00:00 | INFO | modules.backup.backup_module:schedule_item - Schedule 6 triggered for backup profile 1 2026-07-17 16:00:00 | ERROR | modules.backup.backup_module:get_engine - Failed to create backup engine for profile 1: [WinError 3] Impossibile trovare il percorso specificato: 'D:\\' 2026-07-17 16:00:00 | ERROR | modules.backup.backup_module:execute_backup - Failed to create backup engine for profile 1 2026-07-17 16:00:00 | ERROR | daemon.automation_daemon:_execute_scheduled_backup - Backup profile ID 1 failed: Failed to create backup engine for profile 1 2026-07-17 16:00:00 | INFO | daemon.job_executor:execute_job - Queued job 'ReportPdf' (execution ID 3224) 2026-07-17 16:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 13 queued for execution (execution ID 3224) 2026-07-17 16:00:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3225) 2026-07-17 16:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3225) 2026-07-17 16:00:00 | INFO | daemon.job_executor:_run_job - Starting job 'ReportPdf' (execution 3224) 2026-07-17 16:00:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3225) 2026-07-17 16:00:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.3s 2026-07-17 16:00:04 | INFO | daemon.job_executor:_run_job - Job 'ReportPdf' completed successfully in 4.3s 2026-07-17 16:29:44 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 16:29:44 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3226) 2026-07-17 16:29:44 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3226) 2026-07-17 16:29:44 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3226) 2026-07-17 16:29:44 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.5s 2026-07-17 16:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 16:30:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3227) 2026-07-17 16:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3227) 2026-07-17 16:30:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3227) 2026-07-17 16:30:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.4s 2026-07-17 16:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 16:45:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3228) 2026-07-17 16:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3228) 2026-07-17 16:45:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3228) 2026-07-17 16:45:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.5s 2026-07-17 17:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 17:00:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3229) 2026-07-17 17:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3229) 2026-07-17 17:00:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3229) 2026-07-17 17:00:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.8s 2026-07-17 17:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 17:15:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3230) 2026-07-17 17:15:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3230) 2026-07-17 17:15:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3230) 2026-07-17 17:15:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.6s 2026-07-17 17:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 17:30:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3231) 2026-07-17 17:30:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3231) 2026-07-17 17:30:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3231) 2026-07-17 17:30:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.4s 2026-07-17 17:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 17:45:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3232) 2026-07-17 17:45:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3232) 2026-07-17 17:45:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3232) 2026-07-17 17:45:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.3s 2026-07-17 18:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Triggered scheduled execution of job ID 18 2026-07-17 18:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_backup - Triggered scheduled execution of backup profile ID 1 2026-07-17 18:00:00 | INFO | modules.backup.backup_module:schedule_item - Schedule 6 triggered for backup profile 1 2026-07-17 18:00:00 | ERROR | modules.backup.backup_module:get_engine - Failed to create backup engine for profile 1: [WinError 3] Impossibile trovare il percorso specificato: 'D:\\' 2026-07-17 18:00:00 | ERROR | modules.backup.backup_module:execute_backup - Failed to create backup engine for profile 1 2026-07-17 18:00:00 | ERROR | daemon.automation_daemon:_execute_scheduled_backup - Backup profile ID 1 failed: Failed to create backup engine for profile 1 2026-07-17 18:00:00 | INFO | daemon.job_executor:execute_job - Queued job 'Outlook Frank filtro' (execution ID 3233) 2026-07-17 18:00:00 | INFO | daemon.automation_daemon:_execute_scheduled_job - Job ID 18 queued for execution (execution ID 3233) 2026-07-17 18:00:00 | INFO | daemon.job_executor:_run_job - Starting job 'Outlook Frank filtro' (execution 3233) 2026-07-17 18:00:00 | INFO | daemon.job_executor:_run_job - Job 'Outlook Frank filtro' completed successfully in 0.4s 2026-07-17 18:01:16 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK list_dir (id=req-0010) 2026-07-17 18:01:16 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: azione negata 'parquet_group_count' (id=req-0011) 2026-07-17 18:01:16 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: azione negata 'parquet_group_count' (id=req-0012) 2026-07-17 18:01:16 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: azione negata 'parquet_group_count' (id=req-0013) 2026-07-17 18:01:16 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: azione negata 'parquet_group_count' (id=req-0014) 2026-07-17 18:01:16 | WARNING | daemon.relay_handler:process_pending_requests - Frank-relay: errore duckdb_query (id=req-0015): 'sql' 2026-07-17 18:01:17 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK duckdb_query (id=req-0016) 2026-07-17 18:01:18 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK duckdb_query (id=req-0017) 2026-07-17 18:01:19 | INFO | daemon.relay_handler:process_pending_requests - Frank-relay: OK duckdb_query (id=req-0018)