rexyai / RestRserve

R web API framework for building high-performance microservices and app backends
https://restrserve.org
275 stars 32 forks source link

pkill is Unix-alike-specific #113

Closed hongooi73 closed 4 years ago

hongooi73 commented 4 years ago

Hi,

I just noticed that in 3c56dcb0f75e57a825c099b7e6503dc8d3e018fa you use pkill to kill child processes. This is specific to Unices, so it won't work on Windows. I know that you recommend not using Windows, but it would still be nice if the package didn't have an enforced OS restriction.

The Win equivalent to pkill is taskkill; you can kill a process tree with taskkill /F. See SO answer here: https://stackoverflow.com/a/604545/474349

dselivanov commented 4 years ago

On windows you won't be able to fork, so option to kill app won't be available. But thanks for keeping eyes.

On Mon, 16 Dec 2019, 22:11 Hong Ooi, notifications@github.com wrote:

Hi,

I just noticed that in 3c56dcb https://github.com/rexyai/RestRserve/commit/3c56dcb0f75e57a825c099b7e6503dc8d3e018fa you use pkill to kill child processes. This is specific to Unices, so it won't work on Windows. I know that you recommend not using Windows, but it would still be nice if the package didn't have an enforced OS restriction.

The Win equivalent to pkill is taskkill; you can kill a process tree with taskkill /F. See SO answer here: https://stackoverflow.com/a/604545/474349

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rexyai/RestRserve/issues/113?email_source=notifications&email_token=ABHC5XMADJU5DFXHTJ34ELTQY7AELA5CNFSM4J3N32L2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IAZ6EZA, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABHC5XPOITKTH3CQKL7AWSTQY7AELANCNFSM4J3N32LQ .

dselivanov commented 4 years ago

@Hong-Revo closing?

hongooi73 commented 4 years ago

Just had one more question: on Windows, is it still possible to do parallel processing, eg with PSOCK clusters rather than forks? Other than that, it sounds good.

dselivanov commented 4 years ago

No, it is not possible - Rserve creates a fork for each connection. On windows everything happens in a main R process.

hongooi73 commented 4 years ago

Ta. It would probably be good to mention this limitation in the docs -- the README says that RestRserve is parallel by design, but not that it's limited to Unices.

dselivanov commented 4 years ago

Well, it mentions that it creates a fork for each request with Rserve backend. But yes, may be it is not super clear - I will update readme.