Fix broken `--local-executor` logic for windows ever since it was made default (#1008)

Co-authored-by: sowmyasudhasingh <sowmyasudhasingh@gmail.com>
This commit is contained in:
Sowmya Sudha Singh 2022-01-19 15:19:48 +05:30 committed by GitHub
parent 7206a5d00f
commit f7b9458005
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 6 deletions

View File

@ -148,7 +148,8 @@ class Acceptor(multiprocessing.Process):
if locked:
self.lock.release()
for work in works:
if self.flags.local_executor == int(DEFAULT_LOCAL_EXECUTOR):
if self.flags.threadless and \
self.flags.local_executor:
assert self._local_work_queue
self._local_work_queue.put(work)
else:
@ -171,7 +172,7 @@ class Acceptor(multiprocessing.Process):
type=socket.SOCK_STREAM,
)
try:
if self.flags.local_executor == int(DEFAULT_LOCAL_EXECUTOR):
if self.flags.threadless and self.flags.local_executor:
self._start_local()
self.selector.register(self.sock, selectors.EVENT_READ)
while not self.running.is_set():
@ -180,7 +181,7 @@ class Acceptor(multiprocessing.Process):
pass
finally:
self.selector.unregister(self.sock)
if self.flags.local_executor == int(DEFAULT_LOCAL_EXECUTOR):
if self.flags.threadless and self.flags.local_executor:
self._stop_local()
self.sock.close()
logger.debug('Acceptor#%d shutdown', self.idd)

View File

@ -429,7 +429,7 @@ class Threadless(ABC, Generic[T]):
data=wqfileno,
)
assert self.loop
# logger.debug('Working on {0} works'.format(len(self.works)))
logger.debug('Working on {0} works'.format(len(self.works)))
self.loop.create_task(self._run_forever())
self.loop.run_forever()
except KeyboardInterrupt:

View File

@ -25,7 +25,7 @@ from .core.acceptor import AcceptorPool, Listener
from .common.utils import bytes_
from .common.flag import FlagParser, flags
from .common.constants import DEFAULT_ENABLE_SSH_TUNNEL, DEFAULT_LOCAL_EXECUTOR, DEFAULT_LOG_FILE
from .common.constants import DEFAULT_ENABLE_SSH_TUNNEL, DEFAULT_LOG_FILE
from .common.constants import DEFAULT_OPEN_FILE_LIMIT, DEFAULT_PLUGINS, DEFAULT_VERSION
from .common.constants import DEFAULT_ENABLE_DASHBOARD, DEFAULT_WORK_KLASS, DEFAULT_PID_FILE
from .common.constants import DEFAULT_LOG_FORMAT, DEFAULT_LOG_LEVEL, IS_WINDOWS
@ -242,7 +242,7 @@ class Proxy:
@property
def remote_executors_enabled(self) -> bool:
return self.flags.threadless and \
not (self.flags.local_executor == int(DEFAULT_LOCAL_EXECUTOR))
not self.flags.local_executor
def _write_pid_file(self) -> None:
if self.flags.pid_file: