Hi!
First of all, thank you for PromptChain. I'm really enjoying it and I'd like to keep using it as part of my production workflow.
While investigating repeated startup delays, I found what appears to be the cause.
During ComfyUI startup, PromptChain launches _preload(), which eventually calls _recognize_unknown_models().
For every model that is not already recognized, PromptChain performs a CivitAI lookup using detect_model() with a 30-second timeout.
When the lookup times out, the log correctly reports:
Timeout detecting <model>, skipping
However, the timeout result is not remembered.
On the next ComfyUI startup, PromptChain treats the same model as "unrecognized" again and performs exactly the same lookup again.
With large model libraries (FLUX, Qwen, Krea, GGUF, custom checkpoints, etc.), this causes repeated startup delays because models that already timed out are queried again every time ComfyUI starts.
From reading the code, it looks like the timeout is handled correctly, but there is no cache or persistent state indicating that this model has already failed recognition.
Would it be possible to cache timeout (or failed lookup) results?
For example:
- remember that a model already timed out
- retry only after a configurable period (24 hours / 7 days)
- or provide a manual "Retry Recognition" action
This would preserve the current recognition system while avoiding repeated network requests and long startup delays for users with large model collections.
I believe this would significantly improve the startup experience without changing PromptChain's existing functionality.
Thank you for your great work!
Hi!
First of all, thank you for PromptChain. I'm really enjoying it and I'd like to keep using it as part of my production workflow.
While investigating repeated startup delays, I found what appears to be the cause.
During ComfyUI startup, PromptChain launches
_preload(), which eventually calls_recognize_unknown_models().For every model that is not already recognized, PromptChain performs a CivitAI lookup using
detect_model()with a 30-second timeout.When the lookup times out, the log correctly reports:
However, the timeout result is not remembered.
On the next ComfyUI startup, PromptChain treats the same model as "unrecognized" again and performs exactly the same lookup again.
With large model libraries (FLUX, Qwen, Krea, GGUF, custom checkpoints, etc.), this causes repeated startup delays because models that already timed out are queried again every time ComfyUI starts.
From reading the code, it looks like the timeout is handled correctly, but there is no cache or persistent state indicating that this model has already failed recognition.
Would it be possible to cache timeout (or failed lookup) results?
For example:
This would preserve the current recognition system while avoiding repeated network requests and long startup delays for users with large model collections.
I believe this would significantly improve the startup experience without changing PromptChain's existing functionality.
Thank you for your great work!