funboost-troubleshooting

Diagnose funboost consumer, event loop, logging, and configuration errors by symptom.

892|166|Updated Dec 25, 2021
One-click install
npx skills add https://github.com/ydf0509/funboost --skill funboost-troubleshooting-ydf0509
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: funboost-troubleshooting
Source: https://github.com/ydf0509/funboost/tree/main/.agents/skills/funboost-troubleshooting
Command: npx skills add https://github.com/ydf0509/funboost --skill funboost-troubleshooting-ydf0509

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a funboost-based distributed task system misbehaves—consumers not consuming, processes refusing to exit, asyncio event loop errors, missing logs, or configuration files not loading—this Skill maps each symptom directly to its root cause and fix, eliminating guesswork during debugging. ## Core Features & Use Cases - Symptom-to-solution lookup: A decision tree and error table covering Ctrl+C hangs on Windows, ModuleNotFoundError for funboost_config, event loop conflicts, aiohttp loop mismatches, and dependency issues like pywin32 and pydantic. - Configuration and PYTHONPATH guidance: Explains how funboost loads funboost_config.py via importlib and how to set PYTHONPATH correctly across PowerShell, CMD, Linux, and macOS. - AI agent execution rules: Provides safe patterns for running consumer scripts with subprocess timeouts or os._exit, plus log capture via LOG_PATH environment variables. - Use Case: Your async consumer throws "RuntimeError: This event loop is already running". The Skill tells you to set is_auto_start_specify_async_loop_in_child_thread=False or remove the duplicate run_forever call. ## Quick Start Ask the AI to diagnose why your funboost consumer pushes messages successfully but never executes them, and follow the matching fix from the error table.

Frequently Asked Questions about funboost-troubleshooting

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is my funboost consumer not consuming messages?▼

The most common cause is not calling consume() on the boosted function. Also verify that queue_name and broker_kind are identical between publisher and consumer, and that the broker connection configuration is loaded correctly.

How do I fix 'This event loop is already running' in funboost async mode?▼

This happens when funboost auto-starts your specify_async_loop in a child thread while the main thread also calls run_forever. Set is_auto_start_specify_async_loop_in_child_thread=False in BoosterParams, or remove the duplicate run_forever call.

Why does Ctrl+C not stop my funboost program on Windows?▼

consume() starts non-daemon threads, which Windows Ctrl+C cannot interrupt. Call enable_ctrl_c_quit_on_windows() after consume() to allow keyboard interruption, or close the window to kill the process.

How do I fix ModuleNotFoundError for funboost_config?▼

funboost loads configuration via importlib.import_module('funboost_config'), so the directory containing funboost_config.py must be on sys.path. Set the PYTHONPATH environment variable to your project root, or run scripts from the project root directory.

Why does aiohttp fail with 'attached to a different loop' in funboost?▼

ASYNC concurrent mode runs coroutines in a child thread's event loop, so connection pools created on the main thread loop cannot be reused. Pass the main thread's loop via specify_async_loop in BoosterParams so both share one loop.

Where does funboost write log files?▼

Log files go to the LOG_PATH directory defined in nb_log_config.py, commonly ~/pythonlogs or D:/pythonlogs. The consumer startup message prints the exact path and filename, and you can override LOG_PATH via an environment variable.