如何在框架之外访问 Yii 模型?
我有一些齿轮工执行任务,并使用 BrianMoons GearmanManager 进行管理。我希望能够在 worker 脚本中访问一些 Yii 模型,而不必加载整个 Yii 框架。我需要导入什么来加载脚本中的模型?(CActiverecord、DBconnection 等)。
一个工人看起来像这样:
作为简单的功能
function reverse_string($job, &$log) {
$workload = $job->workload();
$result = strrev($workload);
$log[] = "Success";
return $result;
}
?>
或作为一个班级:
<?php
class Sum {
private $cache = array();
private $foo = 0;
public function run($job, &$log) {
$workload = $job->workload();
if(empty($this->cache[$workload])){
$dat = json_decode($workload, true);
$sum = 0;
foreach($dat as $d){
$sum+=$d;
sleep(1);
}
$this->cache[$workload] = $sum + 0;
} else {
$sum = $this->cache[$workload] + 0;
}
$log[] = "Answer: ".$sum;
$this->foo = 1;
return $sum;
}
}
?>
我希望能够访问一些模型并在工作人员中执行操作,如下所示:
$foo=Foo::model()->findByPk($id);
$foo->attribute="bar";
$foo->save();