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

Implement a proper timeout per actor #65

Open
cp2587 opened this issue Feb 27, 2019 · 2 comments
Open

Implement a proper timeout per actor #65

cp2587 opened this issue Feb 27, 2019 · 2 comments

Comments

@cp2587
Copy link
Contributor

cp2587 commented Feb 27, 2019

The current mechanism to kill an actor is not properly working leading to potential actor running indefinitely. This is very dangerous as potential deadlock are always a possibility and each actor should not have to implement it's own timeout/kill mechanism.
How can we improve the library so it can kill a long-running actor ?

@antoinerabany
Copy link
Member

Yes. The issue is that a thread cannot be killed (source). So we either need to use multiprocessing or libraries like greenlet maybe. I need to document more about those and how it is done in other librairies. But I'm alway open if you have any advice.

@cp2587
Copy link
Contributor Author

cp2587 commented Feb 28, 2019

yes, implement a lightwieht coroutine library: it will prove as effective as thread for I/O intensive task. If you use gevent, you need to have compliant code, that's why thread is better in that sense. In python 3, i am not sure gevent is still the canonical way to do it (since standard librairy offer async.io). We should think carefully.
@mehdigmira any thought ?

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

No branches or pull requests

2 participants