import schedule import time from log_config import logger from daily_stock import get_stock_message, get_today_stock from daily_weather import get_today_indices, get_today_weather, get_weather_message from wechat_message import send_wechat_message def daily_weather_task(): logger.info("执行定时天气任务...") weather = get_today_weather() indices = get_today_indices() message = get_weather_message(weather, indices) send_wechat_message(message) def daily_stock_task(): logger.info("执行定时股票任务...") stock = get_today_stock() message = get_stock_message(stock) send_wechat_message(message) def daily_order_supper_task(): logger.info("执行定时订饭任务...") message = { "msgtype": "text", "text": { "content": "📢 订饭时间到!记得订晚饭~" } } send_wechat_message(message) def setup_schedule(): schedule.every().day.at("09:00").do(daily_weather_task) schedule.every().day.at("15:30").do(daily_stock_task) schedule.every().day.at("14:00").do(daily_order_supper_task) def run_schedule(): """运行定时任务""" while True: schedule.run_pending() time.sleep(1) def main(): logger.info("程序启动,开始设置定时任务...") #daily_weather_task() #daily_stock_task() #daily_order_supper_task() setup_schedule() try: run_schedule() except KeyboardInterrupt: logger.info("\n程序被用户中断,正在退出...") schedule.clear() logger.info("所有定时任务已清除") except Exception as e: logger.error(f"程序发生错误: {str(e)}", exc_info=True) if __name__ == "__main__": main()