希望每次部署后都能执行一部分代码,这些代码中有查询的操作,但写在cloud.py的全局部分会报错。
engine = Engine()
obj = leancloud.Object.extend('Test').query.get('xxxxxxxxxxx')
print('obj = ', obj)
报错:
RuntimeError: LeanCloud SDK must be initialized
我研究了一下大概找到问题所在,就是wsgi.py文件里在leancloud.init()
之前就会import cloud
,这个import会执行函数外面的所有全局代码,而此时是没有init的所以执行失败。我在cloud.py里写了一个新函数initAfterDeploy()
,然后wsgi.py文件改成这样,就可以保证在部署成功后正确调用:
我尝试过在43行、46行处调用,都失败了,只有写在27行这里才没问题。希望请负责python sdk的同学帮忙确认一下写在27行这里是否安全和正确,谢谢!
-
创建时间
20年8月2日
-
最后回复
20年8月3日
-
2
回复
-
1.0K
浏览
-
2
用户