| # import subprocess, os, sys | |
| # os.chdir('/www/server/panel/') | |
| # sys.path.insert(0, "class/") | |
| # import public | |
| # def get_crontab_data(): | |
| # # 实际上您需要从数据库获取数据 | |
| # cront = public.M('crontab').select() | |
| # return cront | |
| # def execute_startup_services(): | |
| # crontab_data = get_crontab_data() # 获取crontab数据 | |
| # for task in crontab_data: | |
| # if task['sType'] == 'startup_services': # 检查任务类型 | |
| # commands = task['sBody'].split('\n') # 使用换行符分割多个命令 | |
| # for command in commands: | |
| # try: | |
| # print(f"Executing: {command}") | |
| # result = subprocess.run(command, shell=True, capture_output=True, text=True) | |
| # if result.stderr: | |
| # print(f"Command Error Output:\n{result.stderr}") | |
| # else: | |
| # print(f"Command executed successfully: {command}") | |
| # except Exception as e: | |
| # print(f"Error executing command: {e}") | |
| # # 执行示例 | |
| # execute_startup_services() | |
| import subprocess, os, sys | |
| # 假设已经改变了工作目录并设置了sys.path | |
| os.chdir('/www/server/panel/') | |
| sys.path.insert(0, "class/") | |
| import public | |
| import crontab | |
| def get_crontab_data(): | |
| # 从数据库获取数据 | |
| cront = public.M('crontab').select() | |
| return cront | |
| def StartTask(task_id): | |
| # 这里只是示意,你需要根据实际情况来调整 | |
| # 假设StartTask已经在public或相关模块中定义 | |
| try: | |
| result = public.StartTask({'id': task_id}) | |
| print(f"Task {task_id} executed, result: {result}") | |
| except Exception as e: | |
| print(f"Error executing task {task_id}: {e}") | |
| def execute_startup_services(): | |
| get = public.dict_obj() | |
| p = crontab.crontab() | |
| crontab_data = get_crontab_data() # 获取crontab数据 | |
| for task in crontab_data: | |
| if task['sType'] == 'startup_services': # 检查任务类型 | |
| get.id=task['id'] | |
| # 直接调用StartTask函数执行任务 | |
| p.StartTask(get) | |
| # 执行示例 | |
| execute_startup_services() | |