Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows process support #994

Closed
benstroud opened this issue Mar 20, 2017 · 8 comments
Closed

Windows process support #994

benstroud opened this issue Mar 20, 2017 · 8 comments

Comments

@benstroud
Copy link

Part of the attractiveness of SWF is the ability to deploy workflows anywhere. Support for Windows would be helpful. I encountered the following when attempting to deploy a simpleflow workflow on a Windows system:

signal.SIGCHLD is not currently supported on Windows.

psutil dependency is not currently supported on Cygwin.

@sethmlarson
Copy link

sethmlarson commented Mar 20, 2017

Could you provide some more information, traceback, perhaps a minimal repoducible case where you encountered this error? It would help investigate this issue a lot. :)

@sethmlarson
Copy link

Looks like #82 may be related? Has anything been done with this issue? cc: @embray

@benstroud
Copy link
Author

https://github.com/botify-labs/simpleflow/blob/master/simpleflow/process/supervisor.py

Using the standard 2.7 Python installer on Windows Server 2012: The supervisor module (used by simpleflow decider.start and simpleflow worker.start command line invocations) fails to rely on signal.SIGCHLD as it is not supported on Windows. This limitation prevents the simpleflow command-line long polling from starting.

Using Cygwin with 2.7 Python on Windows Server 2012 (where I believe SGCHLD should be implemented): Here the psutil dependency fails to work as documented here: #82.

Personally I'm more interested in the standard Windows Python installation working more so than Cygwin. I turned to Cygwin as a potential workaround.

I'm now looking at initiating the long polling of simpleflow workers/activities and workflows/deciders outside of the simple.process.supervisor process management. It seems the SIGCHLD signal is used in multiprocess coordination to ensure that --nb-processes number of subprocesses remain active.

@embray
Copy link
Contributor

embray commented Mar 20, 2017

I'm actually nearly done the Cygwin port of psutil. Been working for it off and on over the last several months. The only hold up right now is I'm trying to get the tests to pass on AppVeyor. Stay tuned...

@embray
Copy link
Contributor

embray commented Mar 20, 2017

The above traceback doesn't look like it's to do with psutil?

@benstroud
Copy link
Author

Doh. I've made a big mistake here and opened the issue for psutil instead of simpleflow. I had both projects open in GitHub and landed on the wrong tab. My apologies. I'll close and refile. Thanks for the info on Cygwin/psutil.

@sethmlarson
Copy link

Thanks for chiming in @embray.

@giampaolo
Copy link
Owner

I suppose SIGCHLD cannot be supported on Windows natively. Note: psutil already makes an effort by supporting CTRL_C_EVENT and CTRL_BREAK_EVENT (via send_signal).

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

No branches or pull requests

4 participants