2013-10-17 63 views
0

我正在使用付费主机Hosting24来运行我的网站。我得到了一个每1分钟执行一次以下代码的cron作业。cron作业会关闭服务器?

<?php 

require_once('connect.php'); 

for($c = 0; $c < 60; $c=$c+5) 
{ 
    // php to mysql queries SELECT/ UPDATE/ INSERT etc... 

    sleep(5); 
} 

mysql_close($my_connection);} 
?> 

我试着用for循环让脚本运行1分钟。最终我的脚本应该运行,只要我希望它是因为服务器会每1分钟执行一次。

但是,我打开了我的网站一段时间,然后我无法连接到它。我甚至无法访问我的cPanel。

我的cron作业脚本是否使系统过热,所以系统关闭了? 我应该如何设置我的cron作业脚本让它每1分钟运行一次并持续1分钟?

谢谢。

+0

很难理解你为什么要这样做。假设您的查询需要一点时间,我认为您最终会运行多个脚本,使查询变得更慢。你对这个可怜的DB做了什么? – cjc343

+0

我认为系统会自动终止超过1分钟的任何cron作业。我正在使用此cron作业脚本来更新模拟市场的数据库。所以,计算必须每5秒完成一次。 –

回答

1

我的经验是,需要包含文件的cron作业应该包含该文件的完整路径(CLI环境可能与Web服务器内部的环境差别很大)。试试看看是否有帮助。

如果没有,您需要做的下一件事是关闭cron作业并自己从CLI运行它,使用top来查看进程使用情况。看看你的cron运行需要多长时间。

+0

我是否正确地说,只要在1分钟内完成,cron作业就应该正常运行。例如,cron作业从下午1点开始,脚本运行55秒,系统放松5秒,脚本又从下午1:01开始? –

+0

这取决于你的脚本在做什么以及你的系统忙于做其他事情。如果您的数据库正在投放网站,并且您获得了大量流量,则完成后可能需要一分钟时间。你真的不能为脚本规划时间框架,因为你永远无法100%确定它运行的环境。 – Machavity

相关问题