Cron螺栓工作
问题描述:
只是一个关于任务调度和Bolt CM扩展的快速问题。Cron螺栓工作
文档:https://docs.bolt.cm/v20/tasks
当添加任务调度到延伸,并收听具有类以外的地方指定?
use Bolt\CronEvents;
$this->app['dispatcher']->addListener(CronEvents::CRON_INTERVAL, array($this, 'myJobCallbackMethod'));
class MyExtension extends \Bolt\BaseExtension {
// ...
还是需要在初始化函数中声明?
use Bolt\CronEvents;
class MyExtension extends \Bolt\BaseExtension {
public function initialize() {
$this->app['dispatcher']->addListener(CronEvents::CRON_INTERVAL, array($this, 'myJobCallbackMethod'));
}
// ...
我认为是后者,因为$this
外的类是对象上下文之外。
该文档使它看起来好像直接遵循,所以我想仔细检查一下。
答
你是对的,$this->app['dispatcher']->addListener()
调用确实需要在类上下文中。
过度简化文档。
答
我在初始化函数得到它,它工作正常
public function initialize()
{
$this->app['dispatcher']->addListener(CronEvents::CRON_DAILY, array($this, 'run'));
}
public function run(){
// code to run
}
更新例如被推到了这里回购:https://github.com/bolt/bolt-docs/blob/master/source/tasks。 MD – Gawain 2014-09-26 11:38:31