Laravel - 如何自动启动工匠一次?

时间:2014-09-25 13:14:43

标签: laravel

如果我有一些工匠命令并且想要只触发一次事件,那么只有在第一次启动HTTP时才可以运行吗?

注意:有while循环因此它应该可以作为shell sh脚本(不是通过浏览器)运行,就像没有返回数据的exec()命令一样。

我找到了使用posix_getpgrp()的解决方案,并与cache :: forever var进行了比较。如果与调用事件不同并删除永远缓存。即使重启apache服务,永远缓存也会记住。

2 个答案:

答案 0 :(得分:0)

您可以使用

从应用中调用artisan命令
Artisan::call('your-command',array());

例如,为了创建模式,我将拥有route / create-schema然后在方法中我会有这样的东西

public function createSchema()
{
    Artisan::call('migrate:install');
    Artisan::call('migrate');
}

答案 1 :(得分:0)

找到解决方案。使用事件监听器并检查存储的数据到会话中,如果没有设置,则调用脚本一次,存储被调用的缓存数据。如果重新启动apache或想强制调用脚本更改缓存数据。

你需要的是结合:

Cache

Events