如何在SilverStripe 4中通过命令行运行BuildTask任务?

如何在SilverStripe 4中通过命令行运行BuildTask任务?,silverstripe,silverstripe-4,Silverstripe,Silverstripe 4,在SilverStripe 4文档中,它说我可以扩展DevBuild类,并在unix命令行中使用cron调用该任务 我在app/src/Tasks/MyTask.php上编写了一个名为MyTask的类,如下所示: use SilverStripe\Dev\BuildTask; class MyTask extends BuildTask { private static $segment = 'MyTask'; protected $title = 'My Task';

在SilverStripe 4文档中,它说我可以扩展DevBuild类,并在unix命令行中使用cron调用该任务

我在app/src/Tasks/MyTask.php上编写了一个名为MyTask的类,如下所示:

use SilverStripe\Dev\BuildTask;

class MyTask extends BuildTask
{
    private static $segment = 'MyTask';

    protected $title = 'My Task';
    protected $description = 'A task that I want to run via cron job';
    protected $enabled = true;

    public function run($request){
        exit('Done run!');
    }
}
在I
dev/build?flush=1
之后,我可以通过
mysite.com/dev/tasks/MyTask
上的URL成功运行任务。 但是我不能运行
/vendor/bin/sake-dev/tasks/MyTask

注意:我可以通过命令行运行
/vendor/bin/sake dev/tasks
,这显示了Silverstripe的构建任务列表,而不是我的


我显然遗漏了什么,有人能帮我吗?

有关解决方案,请参阅Robbie Averill的评论

确保运行vendor/bin/sake dev/tasks flush=1刷新您的 缓存,它可能是CLI和web浏览器的不同缓存–Robbie Averill


确保运行
vendor/bin/sake dev/tasks flush=1
来刷新缓存,它可能是CLI和web浏览器的不同缓存,就是这样,谢谢Robbie。