如何在SilverStripe 4中通过命令行运行BuildTask任务?
在SilverStripe 4文档中,它说我可以扩展DevBuild类,并在unix命令行中使用cron调用该任务 我在app/src/Tasks/MyTask.php上编写了一个名为MyTask的类,如下所示:如何在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';
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!');
}
}
在Idev/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。