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

Heroku Flask Socketio application maximum recursion depth exceeded #186

Closed
Full-Stack-dev410 opened this issue Jul 31, 2020 · 15 comments
Closed
Labels

Comments

@Full-Stack-dev410
Copy link

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

@Full-Stack-dev410
Copy link
Author

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

@Full-Stack-dev410
Copy link
Author

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

@miguelgrinberg
Copy link
Owner

Need to see the stack trace.

@Full-Stack-dev410
Copy link
Author

Full-Stack-dev410 commented Jul 31, 2020

What can i do?
if you want, i will share my code.
def create_zoom_meeting(meeting1):
print("Create meeting start.")
meeting = meeting1
zoom_detail = {}
room = Rooms.get_by_roomname(meeting['roomname'])
#zoom_detail['user_id'] = "nIjsDMJvRIOFRvZEoiQLrQ"
zoom_detail['user_id'] = room['user_id']
event = Event.get_event_by_id(meeting['eventID'])
zoom_detail['topic'] = event['name']
zoom_detail['type'] = 2
# d_t = event['starttime']
# time_temp = meeting['starttime'].split(" ")
# d_t = d_t + " " + time_temp[1]
time = datetime.datetime.strptime(meeting['starttime'], "%Y/%m/%d %H:%M") #AID
time_zone = str(meeting1['timeZone'])
tm = timezone(time_zone).localize(time)
tm = tm.astimezone(pytz.UTC)
zoom_detail['start_time'] = tm
zoom_detail['timezone'] = time_zone
zoom_detail['duration'] = meeting['duration']
zoom_detail['password'] = "1erBNq" # thinking now
zoom_detail['agenda'] = meeting['content']
settings = {}
settings['host_video'] = False
settings['participant_video'] = True
settings['join_before_host'] = False
settings['waiting_room'] = True
#settings['mute_upon_entry'] = True
#settings['watermark'] = True
#settings['use_pmi'] = True
zoom_detail['settings'] = settings
print("zoom create start.")
create_m = client.meeting.create(**zoom_detail)
print("zoom create success", create_m)
res = {}
status_code = create_m.status_code
create_m = create_m.json()
if status_code == 201:
meeting['host_url'] = create_m['start_url']
meeting['join_url'] = create_m['join_url']
meeting['meeting_number'] = create_m['id']
meeting['meeting_pwd'] = create_m['password']
meeting['status'] = create_m['status']
res['status'] = True
else:
meeting['host_url'] = ""
meeting['join_url'] = ""
meeting['meeting_number'] = ""
meeting['meeting_pwd'] = ""
meeting['status'] = ''
res['status'] = False
return meeting, res

@app.route('/api/add_meeting', methods = ["POST"])
def add_meeting():
meeting = request.get_json()
print("add:meeting================================================================")
print(meeting)
try:
#new
socketio.sleep(1)
meeting1,res1 = create_zoom_meeting(meeting) #AID
socketio.sleep(1)
print(meeting1)
#===============================================
# meeting['duration'] = '0'
# meeting['host_url'] = ''
# meeting['join_url'] = ''
# meeting['meeting_number'] = '13431'
# meeting['meeting_pwd'] = ''
# meeting['status'] = ''
# meeting['moderator_id'] = '213'
res = {}
res = Meeting.add_meeting(meeting)
MeetingAndDepertment.match_m_and_d(res['id'], res['department'])
return jsonify(res)
except Exception as e:
res = {}
print("add_meeting",str(e))
res['success'] = False
res['msg'] = "Can't add meeting. Please retry."
return jsonify(res)

if name == 'main':
socketio.run(app)

Procfile:

web: gunicorn --worker-class eventlet -w 1 api:app

Log:
d="37.18.88.146" dyno=web.1 connect=2ms service=350ms status=200 bytes=222 protocol=https
2020-07-31T09:58:30.097064+00:00 app[web.1]: 10.35.254.83 - - [31/Jul/2020:09:58:30 +0000] "GET /socket.io/?EIO=3&transport=polling&t=NEaJmWk&sid=701fac2b3adc40e9ad756819ff11f3d0 HTTP/1.1" 200 4 "https://servelass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
2020-07-31T09:58:32.000000+00:00 app[api]: Build succeeded
2020-07-31T10:01:10.888709+00:00 app[web.1]: add:meeting================================================================
2020-07-31T10:01:10.888877+00:00 app[web.1]: {'content': '1212', 'department': [1], 'roomname': 'MC', 'starttime': '2020/07/31 13:01', 'duration': '12', 'moderator_id': 1, 'eventID': 1, 'timeZone': 'Europe/Moscow'}
2020-07-31T10:01:11.891049+00:00 app[web.1]: Create meeting start.
2020-07-31T10:01:12.445107+00:00 app[web.1]: zoom create start.
2020-07-31T10:01:12.445182+00:00 app[web.1]: 1500
2020-07-31T10:01:12.583295+00:00 app[web.1]: add_meeting maximum recursion depth exceeded
2020-07-31T10:01:12.588179+00:00 app[web.1]: 10.61.214.174 - - [31/Jul/2020:10:01:12 +0000] "POST /api/add_meeting HTTP/1.1" 200 69 "https://server-maass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/84.0.4147.105 Safari/537.36"
2020-07-31T10:01:12.587813+00:00 heroku[router]: at=info method=POST path="/api/add_meeting" host=servass.herokuapp.com request_id=d50c767e-45fc-482e-920e-b66b0b8f9da0 fwd="37.18.88.146" dyno=web.1 connect=0ms service=1720ms status=200 bytes=221 protocol=https
2020-07-31T10:12:26.031873+00:00 heroku[router]: at=info method=GET path="/socket.io/?EIO=3&transport=websocket&sid=701fac2b3adc40e9ad756819ff11f3d0" host=server-mastes.herokuapp.com request_id=93500267-74c9-4da3-80c0-2a356765b7dc fwd="37.18.88.146" dyno=web.1 connect=0ms service=836062ms status=101 bytes=372 protocol=https

@miguelgrinberg
Copy link
Owner

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.

@Full-Stack-dev410
Copy link
Author

Hello, Miguelberg
Thanks for your reply.
But i didn't find answer for me.
If you can, please help me.
I can execute it on Local PC, but i can't do it on Heroku server
i think there are problem in procfile
if you want, please give me when i can discuss with you.
This is my skype id: live:.cid.b536e684fee88346
Thanks

@miguelgrinberg
Copy link
Owner

@Full-Stack-dev410 there is nothing more I can tell you until you show me a stack trace. This line:

2020-07-31T10:01:12.583295+00:00 app[web.1]: add_meeting maximum recursion depth exceeded

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.

@Full-Stack-dev410
Copy link
Author

Full-Stack-dev410 commented Aug 1, 2020

I am sorry
I will share you my logs

2020-08-01T10:13:07.093772+00:00 heroku[router]: at=info method=POST path="/get_moderator" host=server-masterclass.herokuapp.com request_id=160e30f2-d92f-4ad8-b699-178569e4dc0f fwd="37.18.88.146" dyno=web.1 connect=3ms service=10ms status=200 bytes=366 protocol=https
2020-08-01T10:13:07.096134+00:00 app[web.1]: 10.138.162.166 - - [01/Aug/2020:10:13:07 +0000] "POST /get_moderator HTTP/1.1" 200 213 "https://server-masterclass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
2020-08-01T10:14:19.454167+00:00 app[web.1]: add:meeting================================================================2020-08-01T10:14:19.454184+00:00 app[web.1]: {'content': 'test', 'department': [1], 'roomname': 'MC', 'starttime': '2020/07/31 13:14', 'duration': '10', 'moderator_id': 1, 'eventID': 1, 'timeZone': 'Europe/Moscow'}
2020-08-01T10:14:20.539497+00:00 heroku[router]: at=info method=POST path="/api/add_meeting" host=server-masterclass.herokuapp.com request_id=e4799ff6-680a-4717-958e-8aee72263149 fwd="37.18.88.146" dyno=web.1 connect=0ms service=1089ms status=200 bytes=221 protocol=https
2020-08-01T10:14:20.455675+00:00 app[web.1]: Create meeting start.
2020-08-01T10:14:20.501760+00:00 app[web.1]: zoom create start.
2020-08-01T10:14:20.540081+00:00 app[web.1]: add_meeting maximum recursion depth exceeded
2020-08-01T10:14:20.541685+00:00 app[web.1]: 10.69.232.242 - - [01/Aug/2020:10:14:20 +0000] "POST /api/add_meeting HTTP/1.1" 200 69 "https://server-masterclass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"
2020-08-01T10:16:20.957623+00:00 app[web.1]: add:meeting================================================================
2020-08-01T10:16:20.957649+00:00 app[web.1]: {'content': '21', 'department': [1], 'roomname': 'MC', 'starttime': '2020/07/31 13:16', 'duration': '12', 'moderator_id': 1, 'eventID': 1, 'timeZone': 'Europe/Moscow'}
2020-08-01T10:16:21.983503+00:00 heroku[router]: at=info method=POST path="/api/add_meeting" host=server-masterclass.herokuapp.com request_id=3048c970-6062-411c-8a25-fbbe229b0d99 fwd="37.18.88.146" dyno=web.1 connect=1ms service=1030ms status=200 bytes=221 protocol=https
2020-08-01T10:16:21.958359+00:00 app[web.1]: Create meeting start.
2020-08-01T10:16:21.963167+00:00 app[web.1]: zoom create start.
2020-08-01T10:16:21.983124+00:00 app[web.1]: add_meeting maximum recursion depth exceeded
2020-08-01T10:16:21.985426+00:00 app[web.1]: 10.109.166.130 - - [01/Aug/2020:10:16:21 +0000] "POST /api/add_meeting HTTP/1.1" 200 69 "https://server-masterclass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36"

This is my logs get by command "heroku logs -t"
if you need, please give me how can i get detail
Thanks

@miguelgrinberg
Copy link
Owner

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.

@Full-Stack-dev410
Copy link
Author

Thanks @miguelgrinberg
but when i have uninstall eventlet , i have some errors

2020-08-01T17:06:46.154626+00:00 heroku[web.1]: State changed from up to starting 2020-08-01T17:06:46.915361+00:00 heroku[web.1]: Stopping all processes with SIGTERM 2020-08-01T17:06:46.938710+00:00 app[web.1]: [2020-08-01 17:06:46 +0000] [4] [INFO] Handling signal: term 2020-08-01T17:06:47.808666+00:00 app[web.1]: [2020-08-01 17:06:47 +0000] [14] [INFO] Worker exiting (pid: 14) 2020-08-01T17:06:47.941016+00:00 app[web.1]: [2020-08-01 17:06:47 +0000] [4] [INFO] Shutting down: Master 2020-08-01T17:06:48.028740+00:00 heroku[web.1]: Process exited with status 0 2020-08-01T17:07:08.425110+00:00 heroku[web.1]: Starting process with command gunicorn --worker-class eventlet -w 1 api:app2020-08-01T17:07:10.319382+00:00 app[web.1]: 2020-08-01T17:07:10.319407+00:00 app[web.1]: Error: class uri 'eventlet' invalid or not found: 2020-08-01T17:07:10.319407+00:00 app[web.1]: 2020-08-01T17:07:10.319408+00:00 app[web.1]: [Traceback (most recent call last): 2020-08-01T17:07:10.319408+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/geventlet.py", line 12, in <module> 2020-08-01T17:07:10.319409+00:00 app[web.1]: import eventlet 2020-08-01T17:07:10.319409+00:00 app[web.1]: ModuleNotFoundError: No module named 'eventlet' 2020-08-01T17:07:10.319410+00:00 app[web.1]: 2020-08-01T17:07:10.319410+00:00 app[web.1]: During handling of the above exception, another exception occurred: 2020-08-01T17:07:10.319410+00:00 app[web.1]: 2020-08-01T17:07:10.319411+00:00 app[web.1]: Traceback (most recent call last): 2020-08-01T17:07:10.319411+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py", line 99, in load_class 2020-08-01T17:07:10.319411+00:00 app[web.1]: mod = importlib.import_module('.'.join(components)) 2020-08-01T17:07:10.319412+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module 2020-08-01T17:07:10.319412+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level) 2020-08-01T17:07:10.319413+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import 2020-08-01T17:07:10.319413+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load 2020-08-01T17:07:10.319413+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked 2020-08-01T17:07:10.319414+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 677, in _load_unlocked 2020-08-01T17:07:10.319414+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 728, in exec_module 2020-08-01T17:07:10.319414+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed 2020-08-01T17:07:10.319415+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/geventlet.py", line 14, in <module> 2020-08-01T17:07:10.319415+00:00 app[web.1]: raise RuntimeError("eventlet worker requires eventlet 0.24.1 or higher") 2020-08-01T17:07:10.319415+00:00 app[web.1]: RuntimeError: eventlet worker requires eventlet 0.24.1 or higher 2020-08-01T17:07:10.319416+00:00 app[web.1]: ] 2020-08-01T17:07:10.319416+00:00 app[web.1]: 2020-08-01T17:07:10.372954+00:00 heroku[web.1]: Process exited with status 1 2020-08-01T17:07:10.411654+00:00 heroku[web.1]: State changed from starting to crashed 2020-08-01T17:07:10.414742+00:00 heroku[web.1]: State changed from crashed to starting 2020-08-01T17:07:36.725375+00:00 heroku[web.1]: Starting process with commandgunicorn --worker-class eventlet -w 1 api:app2020-08-01T17:07:39.683094+00:00 app[web.1]: 2020-08-01T17:07:39.683124+00:00 app[web.1]: Error: class uri 'eventlet' invalid or not found: 2020-08-01T17:07:39.683124+00:00 app[web.1]: 2020-08-01T17:07:39.683125+00:00 app[web.1]: [Traceback (most recent call last): 2020-08-01T17:07:39.683125+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/geventlet.py", line 12, in <module> 2020-08-01T17:07:39.683126+00:00 app[web.1]: import eventlet 2020-08-01T17:07:39.683126+00:00 app[web.1]: ModuleNotFoundError: No module named 'eventlet' 2020-08-01T17:07:39.683126+00:00 app[web.1]: 2020-08-01T17:07:39.683127+00:00 app[web.1]: During handling of the above exception, another exception occurred: 2020-08-01T17:07:39.683127+00:00 app[web.1]: 2020-08-01T17:07:39.683127+00:00 app[web.1]: Traceback (most recent call last): 2020-08-01T17:07:39.683128+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/util.py", line 99, in load_class 2020-08-01T17:07:39.683128+00:00 app[web.1]: mod = importlib.import_module('.'.join(components)) 2020-08-01T17:07:39.683129+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/importlib/__init__.py", line 127, in import_module 2020-08-01T17:07:39.683129+00:00 app[web.1]: return _bootstrap._gcd_import(name[level:], package, level) 2020-08-01T17:07:39.683129+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 1006, in _gcd_import 2020-08-01T17:07:39.683130+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 983, in _find_and_load 2020-08-01T17:07:39.683130+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked 2020-08-01T17:07:39.683131+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 677, in _load_unlocked 2020-08-01T17:07:39.683131+00:00 app[web.1]: File "<frozen importlib._bootstrap_external>", line 728, in exec_module 2020-08-01T17:07:39.683131+00:00 app[web.1]: File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed 2020-08-01T17:07:39.683132+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.7/site-packages/gunicorn/workers/geventlet.py", line 14, in <module> 2020-08-01T17:07:39.683132+00:00 app[web.1]: raise RuntimeError("eventlet worker requires eventlet 0.24.1 or higher") 2020-08-01T17:07:39.683132+00:00 app[web.1]: RuntimeError: eventlet worker requires eventlet 0.24.1 or higher 2020-08-01T17:07:39.683133+00:00 app[web.1]: ] 2020-08-01T17:07:39.683141+00:00 app[web.1]: 2020-08-01T17:07:39.786051+00:00 heroku[web.1]: Process exited with status 1 2020-08-01T17:07:39.828501+00:00 heroku[web.1]: State changed from starting to crashed 2020-08-01T17:07:57.000000+00:00 app[api]: Build succeeded 2020-08-01T17:09:28.191415+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=server-masterclass.herokuapp.com request_id=fbe81c2d-f15e-480a-8223-70396a3fa4ea fwd="37.18.88.146" dyno= connect= service= status=503 bytes= protocol=https 2020-08-01T17:09:29.038515+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=server-masterclass.herokuapp.com request_id=67db30a1-2009-4dc8-b107-f7950c7f8c75 fwd="37.18.88.146" dyno= connect= service= status=503 bytes= protocol=https 2020-08-01T17:09:29.703892+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=server-masterclass.herokuapp.com request_id=4a9f2061-51d6-4b34-9025-80e7d9b57b83 fwd="37.18.88.146" dyno= connect= service= status=503 bytes= protocol=https
When create zoom meeting, i have got this log.
2020-08-01T17:28:11.234428+00:00 app[web.1]: 10.30.61.206 - - [01/Aug/2020:17:28:11 +0000] "POST /get_event_all HTTP/1.1" 200 11016 "https://server-masterclass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" 2020-08-01T17:28:11.234676+00:00 heroku[router]: at=info method=POST path="/get_event_all" host=server-masterclass.herokuapp.com request_id=30f4b4c2-47b3-4fa0-b255-9946fa383dad fwd="37.18.88.146" dyno=web.1 connect=0ms service=32ms status=200 bytes=11171 protocol=https 2020-08-01T17:28:11.567099+00:00 heroku[router]: at=info method=POST path="/get_moderator" host=server-masterclass.herokuapp.com request_id=2ab9e19c-38e5-479f-beeb-beddf5c877dd fwd="37.18.88.146" dyno=web.1 connect=0ms service=7ms status=200 bytes=366 protocol=https 2020-08-01T17:28:11.567576+00:00 app[web.1]: 10.30.61.206 - - [01/Aug/2020:17:28:11 +0000] "POST /get_moderator HTTP/1.1" 200 213 "https://server-masterclass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" 2020-08-01T17:28:20.251107+00:00 app[web.1]: add:meeting================================================================ 2020-08-01T17:28:20.251129+00:00 app[web.1]: {'content': '1221', 'department': [1], 'roomname': 'MC', 'starttime': '2020/07/31 20:28', 'duration': '12', 'moderator_id': 1, 'eventID': 1, 'timeZone': 'Europe/Moscow'} 2020-08-01T17:28:21.252435+00:00 app[web.1]: Create meeting start. 2020-08-01T17:28:21.304698+00:00 app[web.1]: zoom create start. 2020-08-01T17:28:21.341091+00:00 app[web.1]: _Create zoom meeting:: maximum recursion depth exceeded 2020-08-01T17:28:21.341186+00:00 app[web.1]: add_meeting:: local variable 'create_m' referenced before assignment_ 2020-08-01T17:28:21.342988+00:00 app[web.1]: 10.16.251.130 - - [01/Aug/2020:17:28:21 +0000] "POST /api/add_meeting HTTP/1.1" 200 69 "https://server-masterclass.herokuapp.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" 2020-08-01T17:28:21.342532+00:00 heroku[router]: at=info method=POST path="/api/add_meeting" host=server-masterclass.herokuapp.com request_id=6add1eee-783e-421d-8100-cfed937660ac fwd="37.18.88.146" dyno=web.1 connect=0ms service=1094ms status=200 bytes=221 protocol=https

@Full-Stack-dev410
Copy link
Author

Full-Stack-dev410 commented Aug 1, 2020

This is code part:
def create_zoom_meeting(meeting)
...
try:
create_m = client.meeting.create(**zoom_detail)
except Exception as e:
print("Create meeting::", str(e))
...

def add_meeting()
try:
#new
meeting1,res1 = create_zoom_meeting(meeting) #AID
...
except Exception as e:
res = {}
print("add_meeting",str(e))

@miguelgrinberg
Copy link
Owner

miguelgrinberg commented Aug 1, 2020

You uninstalled eventlet, but you are still telling gunicorn to use eventlet.

@Full-Stack-dev410
Copy link
Author

Full-Stack-dev410 commented Aug 1, 2020

of course, when don't use eventlet, it is running
but can't use socketio insteed.
if you can, please give me procfile command.
This is my command:
web: gunicorn api:app --log-file -

I am happy with your help

@miguelgrinberg
Copy link
Owner

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.

@Full-Stack-dev410
Copy link
Author

Thanks.
I will try

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants