Skip to content

Commit e8fcec0

Browse files
committed
fall back to Euler a when worker doesn't recognize the sampler requested by master
1 parent 317a9a6 commit e8fcec0

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

scripts/extension.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,6 @@ def run(self, p, *args):
279279
# encapsulating the request object within a txt2imgreq object is deprecated and no longer works
280280
# see test/basic_features/txt2img_test.py for an example
281281
payload = copy.copy(p.__dict__)
282-
logger.debug(payload)
283282
payload['batch_size'] = Script.world.default_batch_size()
284283
payload['scripts'] = None
285284
try:

scripts/spartan/Worker.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,6 @@ def request(self, payload: dict, option_payload: dict, sync_options: bool):
366366
response_queue = queue.Queue()
367367

368368
def preemptible_request(response_queue):
369-
logger.debug(f"sending {payload}")
370369
if payload['sampler_index'] is None:
371370
logger.debug("had to substitute sampler index with name")
372371
payload['sampler_index'] = payload['sampler_name']
@@ -397,6 +396,18 @@ def preemptible_request(response_queue):
397396

398397
self.response = response.json()
399398
if response.status_code != 200:
399+
# try again when remote doesn't support the selected sampler by falling back to Euler a
400+
if response.status_code == 404 and self.response['detail'] == "Sampler not found":
401+
logger.warning(f"falling back to Euler A sampler for worker {self.label}\n"
402+
f"this may mean you should update this worker")
403+
payload['sampler_index'] = 'Euler a'
404+
payload['sampler_name'] = 'Euler a'
405+
406+
second_attempt = Thread(target=self.request, args=(payload, option_payload, sync_options,))
407+
second_attempt.start()
408+
second_attempt.join()
409+
return
410+
400411
logger.error(
401412
f"'{self.label}' response: Code <{response.status_code}> "
402413
f"{str(response.content, 'utf-8')}")

0 commit comments

Comments
 (0)