Skip to content

Support restarting multi process programs by allowing regex in process name - #3

Open
codeofpi wants to merge 1 commit into
timakro:masterfrom
signalx-ai:master
Open

Support restarting multi process programs by allowing regex in process name#3
codeofpi wants to merge 1 commit into
timakro:masterfrom
signalx-ai:master

Conversation

@codeofpi

@codeofpi codeofpi commented Apr 18, 2022

Copy link
Copy Markdown

With the current way of finding processes that needs to be restarted on code change, services with multiprocessing enabled are not restarted as the child processes in that case will have variable program names.

This pull request allows program and group argument to support regex input also.

for eg.

[program:abcd]
numprocs=4
numprocs_start=01
process_name=%(program_name)s_%(process_num)02d

@timakro

timakro commented Apr 18, 2022

Copy link
Copy Markdown
Owner

Thanks for your contribution! Here's what needs to be done before I can merge this:

  • The regular expression should already be re.compiled at the start and errors should be handled like this.
  • Instead of combining everything into a single regular expression keep a list of compiled regular expressions and use any(compiled_regex.match(program) for compiled_regex in program_regexes). By using match intead of search you don't have to wrap the regex in ^$.
  • Document that regular expressions are expected instead of plain strings in --help and update the README accordingly.

This is a breaking change in the rare case that existing PROG/GROUP params contain special regex characters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants