diff --git a/agent_scheduler/task_runner.py b/agent_scheduler/task_runner.py index 9b58136..70cfd00 100644 --- a/agent_scheduler/task_runner.py +++ b/agent_scheduler/task_runner.py @@ -544,6 +544,12 @@ def __on_completed(self): if action == "Do nothing": return + reset_action = getattr(shared.opts, "queue_completion_action_reset", "No") + if reset_action == "Yes": + log.info(f"[AgentScheduler] Resetting queue_completion_action to 'Do nothing'") + setattr(shared.opts, "queue_completion_action", "Do nothing") + shared.opts.save(shared.config_filename) + command = None if action == "Shut down": log.info("[AgentScheduler] Shutting down...") diff --git a/scripts/task_scheduler.py b/scripts/task_scheduler.py index 3198d35..a45f5ae 100644 --- a/scripts/task_scheduler.py +++ b/scripts/task_scheduler.py @@ -759,6 +759,16 @@ def enqueue_keyboard_shortcut_ui(**_kwargs): section=section, ), ) + shared.opts.add_option( + "queue_completion_action_reset", + shared.OptionInfo( + "No", + "Reset 'action after queue completion' to 'Do nothing' after one execution", + gr.Radio, + {"choices": ["No", "Yes"],}, + section=section, + ), + ) def on_app_started(block: gr.Blocks, app):