crontab 运行 flask 的一个 app 总是执行不成功

2020-05-12 09:41:32 +08:00
 cuixiao603

crontab 运行一个检测脚本就是 app 挂了执行:nohup /usr/bin/python3 /app/app.py > /log/app.log & 执行完成后进程是起来了的,但是访问接口报 500 错误, 查看输出日志之后发现:

 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off

相比正常执行少了最后那一行

 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://0.0.0.0:5200/ (Press CTRL+C to quit)

各位大佬能凭丰富的经验定位出是哪里问题吗

2346 次点击
所在节点    Python
9 条回复
Kilerd
2020-05-12 09:49:46 +08:00
说了多少次,Flask 内置的服务器不能作为生产服务器使用。
cuixiao603
2020-05-12 09:52:21 +08:00
@Kilerd #1 大佬也不要激动,那我这个问题跟使用 flask 内置服务器有关吗
Caratpine
2020-05-12 09:54:23 +08:00
开启 debug 模式,然后再用 crontab 运行,看一下报错日志。
est
2020-05-12 10:05:28 +08:00
因为端口被占了
frostming
2020-05-12 10:22:54 +08:00
你把错误输出也重定向一下啊,错误都丢了
razrlele
2020-05-12 10:27:25 +08:00
nohup /usr/bin/python3 /app/app.py &> /log/app.log &

酱紫就可以把 stderr 也打出来了
cuixiao603
2020-05-12 10:51:28 +08:00
@frostming #5
@razrlele #6
谢谢指点啊,把错误日志输出后发现是代码某一处依然使用相对路径读取文件,改为绝对路径就 ok 了!!
ashCloud
2020-05-12 11:23:33 +08:00
开 debug mod 可以看到 error stack
wingor2015
2020-05-20 12:50:02 +08:00
supervisior 比 crontab 不知道高到哪里去了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/670795

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX