#!/usr/bin/env python3 """DaemonControl - Start daemon process. Usage: python start_daemon.py # Start daemon in foreground python start_daemon.py stop # Stop running daemon (TODO: M3) The daemon runs in foreground and can be stopped with Ctrl+C. For background operation and system tray, see Milestone 3. """ import sys from daemon import SchedulerDaemon def main(): """Main entry point for daemon.""" # Parse command line arguments if len(sys.argv) > 1: command = sys.argv[1].lower() if command == 'stop': print("Stop functionality coming in Milestone 3 (system tray integration)") print("For now, use Ctrl+C to stop the daemon") return elif command in ('--help', '-h', 'help'): print(__doc__) return else: print(f"Unknown command: {command}") print(__doc__) sys.exit(1) # Start daemon print("=" * 70) print(" DaemonControl - Job Scheduling Daemon") print("=" * 70) print() print("Starting daemon in foreground mode...") print("Press Ctrl+C to stop") print() try: daemon = SchedulerDaemon() daemon.start() except KeyboardInterrupt: print("\nShutdown requested by user") except Exception as e: print(f"\nERROR: Failed to start daemon: {e}") sys.exit(1) if __name__ == '__main__': main()