我在CentOS VPS服务器上运行python
程序。过去几个月我一直在运行这个程序&我从一开始就面临这个问题。你知道吗
我通常从crontab运行这个python程序。程序每天按顺序执行以下操作。你知道吗
MySQL
数据库并更新某些特定信息。你知道吗multiprocessing
划分为8-10个python实例。你知道吗Xvfb
(这是运行firefox所必需的)运行虚拟显示。你知道吗selenium
),如果得到任何更改,它就会更新到数据库。你知道吗firefox
如果运行正常,所有这些过程通常需要60分钟到90分钟。但问题是,它并不是每次都运行良好。有时它运行,有时它在中间死亡。我也从来没有找到任何具体的原因,为什么这些程序死亡,我该怎么办。当我检查top
或ps
时,我发现python
程序不存在,firefox
&;Xvfb
仍然像傻瓜一样等待python命令。你知道吗
可能由于过载或其他原因被系统杀死。有时重新启动系统会有所帮助。但是,我知道这不是个好办法。这就是为什么我试着运行这个程序,将niceness值降低到最低级别。但是,程序可能不能以负的niceness
值运行,所以同样的问题仍然存在。你知道吗
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 500 12673 12655 0 80 0 - 54957 wait ? 00:00:00 python
1 S 500 12683 12673 0 80 0 - 62766 sk_wai ? 00:00:18 python
1 S 500 12704 12673 0 80 0 - 59295 sk_wai ? 00:00:17 python
1 S 500 12816 12673 0 80 0 - 59230 sk_wai ? 00:00:16 python
1 S 500 12898 12673 0 80 0 - 59400 sk_wai ? 00:00:16 python
1 S 500 12988 12673 0 80 0 - 59491 sk_wai ? 00:00:17 python
1 S 500 13072 12673 0 80 0 - 59151 sk_wai ? 00:00:17 python
同样,我在我的windows8桌面上运行了这个程序,它最多可以运行26个实例(我从未尝试过更多:)。由于一次运行的实例太多,页面加载变得很慢。这就是为什么我试图通过拆分作业在3vps服务器上运行这个程序。你知道吗
另外,我使用python
、firefox
、selenium
、Xvfb
和单个进程运行另一个程序,它运行了10-12个小时,没有任何问题。同样,这个程序做的事情和第一个几乎一样,但唯一的区别是它只运行一个进程。而且,它从来不会像第一次那样制造任何麻烦。你知道吗
有没有什么方法可以确保每次程序都能正常运行?你知道吗
我也面临同样的问题。在做了大量的研究之后,我得出结论,Firefox不是多处理的好选择。最好使用PhantomJS或Chrome驱动程序。在我的情况下,当我看到ps或top时,我得到的是僵尸Firefox进程。你知道吗
相关问题 更多 >
编程相关推荐