When an exception happens within the session processor loop, record a… (#4638)

…nd move on

## What type of PR is this? (check all applicable)

- [ ] Refactor
- [ ] Feature
- [ ] Bug Fix
- [ ] Optimization
- [ ] Documentation Update
- [ ] Community Node Submission


## Have you discussed this change with the InvokeAI team?
- [ ] Yes
- [ ] No, because:

      
## Have you updated all relevant documentation?
- [ ] Yes
- [ ] No


## Description


## Related Tickets & Documents

<!--
For pull requests that relate or close an issue, please include them
below. 

For example having the text: "closes #1234" would connect the current
pull
request to issue 1234.  And when we merge the pull request, Github will
automatically close the issue.
-->

- Related Issue #
- Closes #

## QA Instructions, Screenshots, Recordings

<!-- 
Please provide steps on how to test changes, any hardware or 
software specifications as well as any other pertinent information. 
-->

## Added/updated tests?

- [ ] Yes
- [ ] No : _please replace this line with details on why tests
      have not been included_

## [optional] Are there any post deployment tasks we need to perform?
This commit is contained in:
Brandon 2023-09-21 11:32:57 -04:00 committed by GitHub
commit c5d0e65a24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -92,7 +92,7 @@ class DefaultSessionProcessor(SessionProcessorBase):
self.__invoker.services.logger self.__invoker.services.logger
while not stop_event.is_set(): while not stop_event.is_set():
poll_now_event.clear() poll_now_event.clear()
try:
# do not dequeue if there is already a session running # do not dequeue if there is already a session running
if self.__queue_item is None and resume_event.is_set(): if self.__queue_item is None and resume_event.is_set():
queue_item = self.__invoker.services.session_queue.dequeue() queue_item = self.__invoker.services.session_queue.dequeue()
@ -116,6 +116,10 @@ class DefaultSessionProcessor(SessionProcessorBase):
continue continue
except Exception as e: except Exception as e:
self.__invoker.services.logger.error(f"Error in session processor: {e}") self.__invoker.services.logger.error(f"Error in session processor: {e}")
poll_now_event.wait(POLLING_INTERVAL)
continue
except Exception as e:
self.__invoker.services.logger.error(f"Fatal Error in session processor: {e}")
pass pass
finally: finally:
stop_event.clear() stop_event.clear()