1.*/6 * * * * /usr/local/php/bin/php -f /var/www/html/efast_wms/moudle/cron/auto_order_confirm_cli.php > /dev/null 2>&1 &
2.auto_order_confirm_cli.php:
$page_number = 2;//进程数 $cmd_arr = array(); for ($i=1;$i<=$page_number;$i++){ $cmd_arr[] = "/usr/local/php/bin/php -f /var/www/html/efast_wms/moudle/cron/auto_order_confirm.php page=$i"; } foreach ($cmd_arr as $exec_command){ $exec_command .= ' xx=xx'; if (!chk_is_run($exec_command)){ popen($exec_command.' >/dev/null 2>&1 &','r');
echo $exec_command."\n"; }else{ echo "Is runing--".$exec_command."\n";exit; } } function chk_is_run($cmd){ $handle = popen("ps -ef | grep php 2>&1", 'r'); $cmd_cont = ''; while(!feof($handle)) { $buffer = fgets($handle); $cmd_cont .= $buffer; } pclose($handle); if (strpos($cmd_cont,$cmd) === false){ return false; }else{ return true; } }
3.auto_order_confirm.php:
$cli_get = array();
for($i=1;$i<count($argv);$i++)
{
$t_arr = explode('=',$argv[$i]);
$cli_get[trim($t_arr[0])] = trim($t_arr[1]);
}
$page = (int) isset($cli_get['page']) ? $cli_get['page'] : 1;
$page_size = 10000;//一个进程跑一万行记录
$limit_start = ($page-1) * $page_size;
$sql = "select xx from table where 1 ORDER BY add_time ASC limit $limit_start,$page_size";