diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-22 04:03:21 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-22 04:03:21 +0000 |
commit | 45c0f58dc656bbc1fd101fd5eb7963d91f3e0096 (patch) | |
tree | 100beb613d6757c8b5243adbb3f030daea3ee0be | |
parent | 075934a9448dd146f69298d7698c409f7ec0421e (diff) | |
parent | 1fe2dcaa2a5c7f6f4864a94ffb65f8eedd8a0129 (diff) | |
download | stable-diffusion-webui-gfx803-45c0f58dc656bbc1fd101fd5eb7963d91f3e0096.tar.gz stable-diffusion-webui-gfx803-45c0f58dc656bbc1fd101fd5eb7963d91f3e0096.tar.bz2 stable-diffusion-webui-gfx803-45c0f58dc656bbc1fd101fd5eb7963d91f3e0096.zip |
Merge pull request #11923 from AnyISalIn/dev
[bug] If txt2img/img2img raises an exception, finally call state.end()
-rw-r--r-- | modules/api/api.py | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/modules/api/api.py b/modules/api/api.py index 2a4cd8a2..9d73083f 100644 --- a/modules/api/api.py +++ b/modules/api/api.py @@ -333,14 +333,16 @@ class Api: p.outpath_grids = opts.outdir_txt2img_grids p.outpath_samples = opts.outdir_txt2img_samples - shared.state.begin(job="scripts_txt2img") - if selectable_scripts is not None: - p.script_args = script_args - processed = scripts.scripts_txt2img.run(p, *p.script_args) # Need to pass args as list here - else: - p.script_args = tuple(script_args) # Need to pass args as tuple here - processed = process_images(p) - shared.state.end() + try: + shared.state.begin(job="scripts_txt2img") + if selectable_scripts is not None: + p.script_args = script_args + processed = scripts.scripts_txt2img.run(p, *p.script_args) # Need to pass args as list here + else: + p.script_args = tuple(script_args) # Need to pass args as tuple here + processed = process_images(p) + finally: + shared.state.end() b64images = list(map(encode_pil_to_base64, processed.images)) if send_images else [] @@ -390,14 +392,16 @@ class Api: p.outpath_grids = opts.outdir_img2img_grids p.outpath_samples = opts.outdir_img2img_samples - shared.state.begin(job="scripts_img2img") - if selectable_scripts is not None: - p.script_args = script_args - processed = scripts.scripts_img2img.run(p, *p.script_args) # Need to pass args as list here - else: - p.script_args = tuple(script_args) # Need to pass args as tuple here - processed = process_images(p) - shared.state.end() + try: + shared.state.begin(job="scripts_img2img") + if selectable_scripts is not None: + p.script_args = script_args + processed = scripts.scripts_img2img.run(p, *p.script_args) # Need to pass args as list here + else: + p.script_args = tuple(script_args) # Need to pass args as tuple here + processed = process_images(p) + finally: + shared.state.end() b64images = list(map(encode_pil_to_base64, processed.images)) if send_images else [] |