diff options
author | AnyISalIn <anyisalin@gmail.com> | 2023-07-22 02:00:27 +0000 |
---|---|---|
committer | AnyISalIn <anyisalin@gmail.com> | 2023-07-22 02:00:27 +0000 |
commit | 1fe2dcaa2a5c7f6f4864a94ffb65f8eedd8a0129 (patch) | |
tree | 100beb613d6757c8b5243adbb3f030daea3ee0be /modules | |
parent | 075934a9448dd146f69298d7698c409f7ec0421e (diff) | |
download | stable-diffusion-webui-gfx803-1fe2dcaa2a5c7f6f4864a94ffb65f8eedd8a0129.tar.gz stable-diffusion-webui-gfx803-1fe2dcaa2a5c7f6f4864a94ffb65f8eedd8a0129.tar.bz2 stable-diffusion-webui-gfx803-1fe2dcaa2a5c7f6f4864a94ffb65f8eedd8a0129.zip |
[bug] If txt2img/img2img raises an exception, finally call state.end()
Signed-off-by: AnyISalIn <anyisalin@gmail.com>
Diffstat (limited to 'modules')
-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 [] |