项目bug不要随便修复,谁也不知道会不会因为bug修复引起更大的问题

1,前两天发现项目有个报表地年份搜索框不能用,查询会引起程序报错数据库异常

class YearFilter(widgets.DatePicker):
    title = u'年'
    name = 'year'

    def lookups(self, request, model_admin, value=None, dict_filter=None):
        self.format = "yyyy"
        self.value = value

    def queryset(self, request, queryset, value, dict_filter=None):
        if value:
            print(111)
            year = value.split("-")[0]
            begin_time = "%s-01-01" % year
            end_time = "%s-12-31" % year
            queryset = queryset.filter(time__gte=begin_time).filter(time__lte=end_time)
        return queryset

该表里面没有time字段,但是有creat_time,只需要把time改成creat_time即可,
甚至,queryset = queryset.filter(time__year==year)还能省更多代码
为了防止其他引用的地方出错,重写一个newclass,引用的地方改为newclass
本地测试无误
2,找个时间,顺手线上环境更新一下代码
因为已经写好了刷新脚本,直接执行即可

./restart.sh

执行耗时好几秒,当时心生不妙
再次访问网站,直接挂了。

internal server error

此时还没有意识到问题的严重性,一点都不慌,
之前也出现过这类情况,因为空格与tab混用,导致程序无法执行
删除更新的代码,重新执行./restart.sh,不行
使用工具用之前保存的文件替换修改文件,重新执行./restart.sh,不行

./start.sh
# 提示第三行运行程序的gunicorn 命令找不到
# 补全路径单独执行命令
/data/server/gunicorn -c gunicorn.py myproject.wsgi:application --daemon

统统都不行

3,查询bug

ps -ef | grep python

没有该项目相关信息

./restart.sh
ps -ef | grep python

成功查出来相关进程,但是18s之后逐渐关闭,浏览器依旧无法访问,为什么是18s?
查询nohup日志,

  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/data/server/user/admin.py", line 715
    data.setdefault('password1','Zhongtie@123')
                                              ^
TabError: inconsistent use of tabs and spaces in indentation

找到该文件该位置,发现是重置密码相关代码。也不多bb,直接删除
再次执行./restart.sh,程序运行成功

posted @ 2022-04-08 23:55  下个ID见  阅读(266)  评论(0编辑  收藏  举报