问题描述:pyspider重启后之前的所有项目均无法找到,project.db中还是存在。

折腾:

1、重启后在页面上没有显示之前的项目,赶紧跑到project.db中看一下,发现还在,安心了一半,最差的情况我还可以一个一个把项目复制,重建。但是要找到出现这种情况的原因。

2、重新在页面上建立一个测试项目,能建立成功,说明整个系统没有问题的,但是发现project.db没有任何变化,在其中也找不到刚建立的那个测试项目。

3、想到之前看源码的时候,发现project,result,task初始化的时候会去选择数据库,而我就在昨天刚装上mongodb,难道是这个影响了,赶紧将mongodb停了,重新启动pyspider,发现并没有用

4、打开pyspider源码,准备看下初始化的整个流程,发现并不能正常启动(windows 流泪)

5、想了下,整个系统是没有问题的,只是找不到之前的项目了,而且之前总听说pyspider对windows的支持不太够,忽然又回到第二个,既然能够建立成功,那建立成功的数据文件去哪里了?隐隐约约感觉到可能是权限问题

6、然后又去重启了一下,发现还是没有成功,手滑一不小心双击了那个run脚本,发现显示的界面不一样了,日志像水流一样出现,进入页面发现之前的项目全部都回来了,真神奇,然后关闭开启重复,发现问题解决了

问题的原因:脚本运行的位置导致

总结:百度搜索 ‘在cmd运行和直接双击运行的区别’,通过查找,终于发现我建立的测试项目。我启动pyspider的方式是通过cmd运行run脚本,但是这样就脚本运行的结果就保存在了该用户下了,而不是在脚本当前的位置。

最后说一句:手滑很重要