import schedule import time from config.log_config import logger from work.daily_stock import get_stock_message, get_today_stock from work.daily_weather import get_today_indices, get_today_weather, get_weather_message from message.wechat_message import send_wechat_message, MessageEnum def daily_weather_task(): logger.info("执行定时天气任务...") weather = get_today_weather() indices = get_today_indices() send_wechat_message(MessageEnum.MARKDOWN2, get_weather_message(weather, indices), True) def daily_stock_task(): logger.info("执行定时股票任务...") stock = get_today_stock() send_wechat_message(MessageEnum.MARKDOWN, get_stock_message(stock)) def daily_order_supper_task(): logger.info("执行定时订饭任务...") send_wechat_message(MessageEnum.TEXT, "📢 订饭时间到!记得订晚饭~") def setup_schedule(): schedule.every().day.at("09:00").do(daily_weather_task) schedule.every().day.at("15:00").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()