我使用openshift作为django app的生产服务器。但是今天我无法运行一个简单的更新脚本,大约需要1分钟来更新我的数据库。我跑完后几秒钟就断开了连接。
Connection to app-domain.rhcloud.com closed by remote host.
Connection to app-domain.rhcloud.com closed.
我尝试用nohup ./script &
运行它,但是在honup.out中没有错误日志(除了警告,所以我猜它已经运行但被杀死了)。我试图在没有nohup的情况下运行它
我也尝试从./manage.py shell
运行它,也注销了,脚本没有完成。
我读过我可能有ssh键的问题。因此,我删除了~/.ssh/
文件夹中的密钥,并使用rhc setup
工具创建了新密钥
我想到的最后一个选项是将我的脚本添加到.openshift/cron/
文件夹,但这是一个非常糟糕的解决方案,每次我想运行一些东西超过几秒钟时创建cron(我在5秒内断开连接)。
openshift是否实现了一些东西来杀死占用大量CPU的进程一两分钟?
答案 0 :(得分:3)
我在这里苦苦挣扎了6个小时,在发布这个问题后,我发现了问题所在
我的剧本中有两个模型。股票(8000个对象)和股息(240,000个对象)。我想保存一些sql查询,我预先为所有股票分红。删除prefetch_related
后,一切正常
如果你分配了太多内存(RAM),那么openshift会杀死进程/断开连接。