Comments (3)
gevent has monkey patching.
from st2.
I prefer using standardized asyncio.
I consider monkey patching to be an anti-pattern as it makes debugging very difficult (was it actually monkey patched? Did something reload the code effectively undoing the monkey patch?).
Another reason to use asyncio: Once we implement StackStorm/community#8 the chatops layer will use asyncio since OpsDroid uses asyncio.
I think the way to migrate to asyncio is to migrate one service at a time. That might mean we have a separate async-compatible st2common-compatible library, slowly migrating the dependencies of each service from the sync to the async lib.
Also, the eventlet folks are working on tools to allow asyncio and eventlet to live in the same process, thus smoothing out the migration path. Depending on how that goes, and when it completes, that might also be a big help:
As far as gevent: That will probably be a shorter leap, as support is already partially stubbed in. Any direct imports of eventlet
should migrate to using this file instead (if possible):
https://github.com/StackStorm/st2/blob/master/st2common/st2common/util/concurrency.py
And the monkey_patch code would need to be updated to support gevent:
https://github.com/StackStorm/st2/blob/master/st2common/st2common/util/monkey_patch.py
from st2.
I also dislike monkey patching and would prefer a service by service migration to asyncio.
from st2.
Related Issues (20)
- No such file or directory: '/home/stanley/.ssh/stanley_rsa HOT 1
- Disable Rule show value of Secret Action Field
- JIRA SUBTASK action in JIRA pack HOT 1
- Slack Channel Community Sign-Up Link seems to be broken HOT 1
- Pack integration testing skipped
- Renew test SSL CA + Cert HOT 2
- Custom Scopes for Key-Value Store + RBAC for that Scopes HOT 1
- Organisation fo ST2 HOT 4
- st2kv : Non-hexadecimal digit found
- All workerflow instances stop in running state
- create Pod stackstorm-ha-1709204765-mongodb-0 in StatefulSet stackstorm-ha-1709204765-mongodb failed error: pods "stackstorm-ha-1709204765-mongodb-0" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider "pipelines-scc": Forbidden: not usable by user or serviceaccount, provider "robusta-scc": Forbidden: not usable by user or serviceaccount, provider restricted-v2: .spec.securityContext.fsGroup: Invalid value: []int64{1001}: 1001 is not an allowed group, provider restricted-v2: .containers[0].runAsUser: Invalid value: 1001
- SSH Key not working as Content / Matrial without using a File HOT 6
- Provide support for passing "=" in a string
- MongoDB issue
- old pytz version
- Implications of REDIS license change?
- many zombie processes forked by st2actionrunner HOT 5
- Timeout support for Orquesta tasks
- Environment variables from file in Actions HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from st2.