最近在做商城这块,需要自动定时处理3天内未付款的订单以及7天后自动的收货等操作,服务器是window的,用php实现会一直运行 占内存,也不好终止,不知各位有没有什么好点的办法,php不支持多线程,linux和window下任务计划知道, php实现定时就这么麻烦吗
第1个回答 2014-11-09
你可以用php的定时任务,格式如下:
function autoexec()
{
ignore_user_abort(true);
set_time_limit(0);
$inc = 900;
do
{
// 写你的代码
sleep($inc);
}
while (true);
}
}追问
function autoexec()
{
ignore_user_abort(true);
set_time_limit(0);
$inc = 900;
do
{
// 写你的代码
sleep($inc);
}
while (true);
}
}追问
php貌似是只有这种方法,但一些服务器上不支持ignore_user_abort ,而且一直运行着,对性能不好,消耗内存 php语言还是太弱了点啊
追答你可以写成原生态的php,用php.exe去调用他,设置成系统的定时任务,也可以啊;
第2个回答 2014-11-09
基本上只能用计划任务操作,或者你用别的语言处理订单,反正也就是数据修改追问
如果只是改状态,那就简单了,问题是结单时还涉及利润计算的问题,我们的网站等于是一个商城 加分销系统,又不想用Php的定时,占内存 又一直运行,看样子只能用别的语言或计划任务了
追答如果计算量比较大,可以用c/c++/python来处理,定时启动计算。
追问恩,3Q,不行哦,整个网站大都是php开发的,其他语言写不太方便,因为是window下 所以只能用计划任务了
本回答被提问者采纳