如何解决如何在SilverStripe 4中通过命令行运行BuildTask任务?
在SilverStripe 4文档中,它说我可以扩展DevBuild类并在UNIX命令行中使用cron调用任务。
https://docs.silverstripe.org/en/4/developer_guides/cli/#running-regular-tasks-with-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!');
}
}
在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 / task flush = 1来刷新您的 缓存,对于CLI和Web浏览器–Robbie Averill
可能是不同的缓存
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。