我正在为我的Catalyst应用程序执行内置开发服务器的常规操作:
DBIC_TRACE=1 perl script/*_server.pl -d -r -p 3001 2>&1 | tee -a /var/log/cat-dev.log
所有运行都很顺利,服务器检测文件何时更改并重新启动;然后不可预测的是它显然已经锁定了。在localhost上浏览应用程序:3001 /(和/或{local_IP}:3001 /通过LAN)冻结,浏览器在新连接的情况下说“加载...”或“连接...”。
这种情况已经发生了一段时间,我之前只是想“好吧”和Ctrl-C'ed并重新运行服务器命令。但是最近一次,我在htop中发现了服务器进程并对其进行了操作。它显然非常繁忙,显然是检查源文件的状态以判断是否需要重新启动。然后我来到StackOverflow,阅读了一下,准备发布这个,回到浏览器,看到它现在已经提供了页面!
这是在日志文件中......
[debug] Rendering template "jobs_search_results.tt"
[debug] Response Code: 200; Content-Type: text/html; charset=utf-8; Content-Length: 74540
[info] Request took 963.465151s (0.001/s)
同事们对线程嘀咕道;这里有一个半相关的查询建议它可能与数据库连接有关(我连接到远程数据库);我想知道'-r'活动......我应该在这寻找任何东西吗?
这是最近更新的Catalyst安装。
答案 0 :(得分:1)
我怀疑你的重启器引起了某种奇怪的阻塞,试着在没有它的情况下启动服务器。
基本服务器是单个进程,因此很容易被阻止。尝试使用forking选项运行您的应用程序,也可以清除它