Comments (2)
Hi,
There are a few options for debugging. (i)pdb is one of them, and pdb.set_trace()
inside a service method should work just like any other python process. What didn't work as expected here?
The backdoor is a way to get a shell inside the process of a running service, possibly one that's been running for a while, and could even be enabled in production. It looks like you have encountered a bug (it shouldn't crash when not finding netcat
, but instead try other alternatives. Maybe you could raise a separate issue about the crash, and post some more info (os, python version) to help us debug that.
When the backdoor works, you get a python shell prompt, from where you can interact with the objects inside the service process, e.g. the container, running workers, dependencies and other objects.
I think the mailing list https://groups.google.com/forum/#!forum/nameko-dev is a better place for the general debugging discussion. Perhaps you could post a simplified example of what you are trying with pdb and how it's not behaving as expected?
Obviously you could also separately add logging statements (or even print
) for debugging, but we should be able to do better. If by "eager mode" you mean turning rpc calls into function calls that you can step through, that's something I've thought about but not really spent any time one.
Hope this helps,
David
from nameko.
Closing this issue to encourage discussion to move to the mailing list.
@rochacbruno if you have more questions please ask them there, and if you're able please report the backdoor bug (here, as an issue). Thanks
from nameko.
Related Issues (20)
- Why using dnspython 1.x instead of 2.x ? HOT 8
- need upgrade to support python 3.10 HOT 2
- Publisher crashing when exchange is provided and RabbitMQ is down
- Nameko crashes when consuming illegal messages HOT 6
- [ DOUBT ] Events Pub / Sub - How can I make a consumer only run one event at a time
- from nameko.rpc import rpc class GreetingService: name = "greeting_service" def hello(self, name): return "Hello, {}!".format(name)
- Timer work on master process or every process? HOT 2
- dnspython dependency version overly restrictive HOT 3
- "verify_amqp_uri" in the module "nameko.amqp.utils" had been removed? HOT 2
- Should HttpRequestHandler print out the exception to the browser? HOT 2
- nameko multiprocess problem HOT 1
- Do you die? we need you to improve Nameko Library HOT 5
- DB Migrations not working with Flask-Migrate HOT 2
- Linking nameko and golang by RPC HOT 1
- dnspython version HOT 1
- nameko run faild when httpx installed
- event_handler should be agnostic to dispatching service
- Drop support for Python 3.5 through 3.7
- directly connect to a RabbitMQ cluster
- Error after eventlet update to 0.34.x
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 nameko.