-
-
Notifications
You must be signed in to change notification settings - Fork 147
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
Heroku Flask Socketio application maximum recursion depth exceeded #186
Comments
|
|
Need to see the stack trace. |
What can i do? @app.route('/api/add_meeting', methods = ["POST"]) if name == 'main': Procfile: web: gunicorn --worker-class eventlet -w 1 api:app Log: |
For some reason your application is not logging stack traces when there is an error. You need to fix that, as not having stack traces makes debugging much more difficult. I can only guess what the problem is because I don't have the stack trace to confirm. But in any case, my guess is that you are seeing a known issue with eventlet: eventlet/eventlet#371. |
Hello, Miguelberg |
@Full-Stack-dev410 there is nothing more I can tell you until you show me a stack trace. This line:
is not the normal format in which this error is presented. Python always shows a stack trace for errors and that is missing here. Fix that, then include the stack trace and maybe then I can give you more specific advice. |
I am sorry
This is my logs get by command "heroku logs -t" |
I mentioned this a few times already. Your application is not logging stack traces when there is an error. You need to figure out why. It could be your application that is suppressing these errors, or one of your dependencies. But in any case, as I said before, this is likely the eventlet bug that I linked above. The stack trace will only help to confirm. Here is another thing you can try. Uninstall eventlet and see if that addresses the problem. If the recursion error stops happening, then that's another indicator that it is the eventlet bug. |
Thanks @miguelgrinberg
|
This is code part: def add_meeting() |
You uninstalled eventlet, but you are still telling gunicorn to use eventlet. |
of course, when don't use eventlet, it is running I am happy with your help |
You can use Socket.IO without eventlet, you just lose WebSocket, but long-polling still works. I'm not sure what you are asking me to provide. As I said, there is a bug in eventlet that likely causes your problem. It's not something you can change from the Procfile or actually anything on this project. Have you read the issue I linked? There is more useful information there than what I can provide from memory. |
Thanks. |
My python version: 3.7.8
Procfile:
web: gunicorn --worker-class eventlet -w 1 api:app
api.py:
def create_zoom_meeting(meeting1):
......
create_m = client.meeting.create(**zoom_detail)
.......
@app.route('/api/add_meeting', methods = ["POST"])
def add_meeting():
meeting = request.get_json()
meeting1,res1 = create_zoom_meeting(meeting)
.............
error:
maximum recursion depth exceeded
i can run it on localhost
but i cant use it on heroku
If you can do it, please let me know
Thanks
The text was updated successfully, but these errors were encountered: