I am not sure if Pulsar can handle last requirement. Can it? From going through docs it appears that all other requirements can be handled.
My current setup is a mix of gevent, aiohttp and django.It is not ideal for several reasons though. On server aiohttp runs on gevent loop and passes all requests to django, except requests to websockets. On client aiohttp runs on gevent and connects to django websocket. Can Pulsar help me simplify this setup?
One exceptional usecase is client handling remote python module imports. Python importer is called synchronously however, but it still has to wait for network communication to complete and return remote python module code. This is the reason for last item in the list above. I think if import is invoked from within a greenlet then code that handles import could yield execution and wait until data is sent over the network. Is this viable with Pulsar?
Thank you in advance
Hello,
I discovered Pulsar just yesterday and it seems to fit my requirements like a glove. Or almost like a glove. Let me detail what i need and please advice/correct my misconceptions if any.
I need:
- Framework that runs on greenlets.
- Framework that can integrate with django.
- Websockets on django and on standalone application.
- Serve django requests asynchronously. Ideally django request should run in a greenlet and i should be able to yield execution while waiting on json-rpc response.
- Run multiple servers from one process (tcp, udp, websockets, http/django).
- Run multiple clients from one process (tcp, udp, websockets).
- Framework that allows me to yield from arbitrary code location (implicit concurrency like greenlets, not explicit concurrency like asyncio).
I am not sure if Pulsar can handle last requirement. Can it? From going through docs it appears that all other requirements can be handled.
My current setup is a mix of gevent, aiohttp and django.It is not ideal for several reasons though. On server aiohttp runs on gevent loop and passes all requests to django, except requests to websockets. On client aiohttp runs on gevent and connects to django websocket. Can Pulsar help me simplify this setup?
One exceptional usecase is client handling remote python module imports. Python importer is called synchronously however, but it still has to wait for network communication to complete and return remote python module code. This is the reason for last item in the list above. I think if import is invoked from within a greenlet then code that handles import could yield execution and wait until data is sent over the network. Is this viable with Pulsar?