最后是处理程序的代码。
清单 11. batch_by_file_processor.php
<?php
require_once 'batch_by_file.php';
function printvalue( $args ) {
echo 'Printing: '.$args['value']."\n";
}
foreach( BatchFiles::get_all() as $item ) {
call_user_func_array( $item['function'], array( $item['args'] ) );
BatchFiles::delete( $item['id'] );
}
?>
|
这段代码几乎与数据库版本完全相同,只是修改了文件名和类名。
结束语
正如前面提到的,服务器对线程提供了许多支持,可以进行后台批处理。在某些情况下,使用辅助线程处理小作业肯定比较容易。但是,也可以使用传统工具(cron、MySQL、标准的面向对象的 PHP 和 Pear::DB)在 PHP 应用程序中创建批作业,这很容易实现、部署和维护。
![nixsky[www.nixsky.com]](/templets/images/toplogo.gif)

