silverstripe - 如何通过 SilverStripe 4 中的命令行运行 BuildTask 任务?

标签 silverstripe silverstripe-4

在 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 对解决方案的评论。

Make sure you run vendor/bin/sake dev/tasks flush=1 to flush your cache, it may be a different cache for the CLI and web browser –Robbie Averill

关于silverstripe - 如何通过 SilverStripe 4 中的命令行运行 BuildTask 任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64711535/

相关文章:

mysql - SilverStripe ORM 中每个 mysql 位置 Y 周围半径 X 内的位置

php - SilverStripe一次性查询所有DataObject表

php - Silverstripe 4 - 访问核心方法

Silverstripe TimeField - 隐藏秒数

php - 对继承对象重新排序/移动 Silverstripe 3 CMS 选项卡

silverstripe - 如何自定义 Silverstripe 登录页面内容?

Silverstripe 通过模型管理员访问一页

javascript - TinyMCE 未加载 Silverstripe 3.6.2 或 4(beta 3)

php - Silverstripe 4 单元测试出现 "Couldn' t find object”错误,如何解决?