Commit 3662a274 authored by rucadi's avatar rucadi
Browse files

Add polling callback

parent 226d840e
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ callback_map = dict(
    callbacks_infotext_pasted=[],
    callbacks_script_unloaded=[],
    callbacks_before_ui=[],
    callbacks_on_polling=[],
)


@@ -89,6 +90,12 @@ def app_started_callback(demo: Optional[Blocks], app: FastAPI):
        except Exception:
            report_exception(c, 'app_started_callback')

def app_polling_callback(demo: Optional[Blocks], app: FastAPI):
    for c in callback_map['callbacks_on_polling']:
        try:
            c.callback()
        except Exception:
            report_exception(c, 'callbacks_on_polling')

def model_loaded_callback(sd_model):
    for c in callback_map['callbacks_model_loaded']:
@@ -227,6 +234,11 @@ def on_app_started(callback):
    add_callback(callback_map['callbacks_app_started'], callback)


def on_polling(callback):
    """register a function to be called on each polling of the server."""
    add_callback(callback_map['callbacks_on_polling'], callback)


def on_model_loaded(callback):
    """register a function to be called when the stable diffusion model is created; the model is
    passed as an argument; this function is also called when the script is reloaded. """
+1 −0
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ def create_api(app):
def wait_on_server(demo=None):
    while 1:
        time.sleep(0.5)
        modules.script_callbacks.app_polling_callback(None, demo)
        if shared.state.need_restart:
            shared.state.need_restart = False
            time.sleep(0.5)