- 79
- 0
Laravel定时任务执行的命令的时间不确定,我根据文档添加了withoutOverlapping(),但是好像没有生效
开发环境:windows 10, laradock ,Laravel 5.4.36
相关代码
kernel的代码
$schedule->command('produce:email')->withoutOverlapping();
命令的代码
public function handle()
{
$name = mt_rand(10000,99999);
Log::info($name . ':开始运行时间'.date('Y-m-d H:i:s'));
$this->parseAppName();
$this->createQueue();
arsort($this->queue);
if(count($this->queue) <= 0){
return ;
}
foreach ($this->queue as $key => $queue) {
$this->getHistoryId($key,$queue['filter']);
$this->executeAdd($key,$queue);
}
Log::info($name .':结束运行时间'.date('Y-m-d H:i:s'));
}
输出的日志文件如下: 80781任务结束前系统新开了8个任务
[2018-07-10 03:23:18] local.INFO: 80781:开始运行时间2018-07-10 03:23:18
[2018-07-10 03:24:07] local.INFO: 91189:开始运行时间2018-07-10 03:24:07
[2018-07-10 03:25:05] local.INFO: 73828:开始运行时间2018-07-10 03:25:05
[2018-07-10 03:26:09] local.INFO: 96934:开始运行时间2018-07-10 03:26:09
[2018-07-10 03:27:06] local.INFO: 79930:开始运行时间2018-07-10 03:27:06
[2018-07-10 03:28:13] local.INFO: 39674:开始运行时间2018-07-10 03:28:13
[2018-07-10 03:29:06] local.INFO: 44935:开始运行时间2018-07-10 03:29:06
[2018-07-10 03:30:16] local.INFO: 40087:开始运行时间2018-07-10 03:30:16
[2018-07-10 03:31:05] local.INFO: 42935:开始运行时间2018-07-10 03:31:05
[2018-07-10 03:31:26] local.INFO: 91189:结束运行时间2018-07-10 03:31:26
[2018-07-10 03:31:26] local.INFO: 80781:结束运行时间2018-07-10 03:31:26 - 共 0 条
- 全部回答
-
心痛的网名繁体字 普通会员 1楼
在 Laravel 中,你可以使用 Job 进程来实现定时任务的重复执行。以下是一个简单的示例:
首先,你需要在
config/app.php中设置一个 Job 进程,例如:php 'jobs' => [ 'your_job' => [ 'driver' => 'job', 'queue' => 'default', 'handler' => function ($job, $args, $queue, $context) { // 在这里处理你的任务 echo "Task executed: " . $job->name . "\n"; }, ], ],然后,你可以在
app/Console/Kernel.php中创建一个新的 Job 进程:```php use Illuminate\Support\Facades\Artisan;
class YourJob { public function handle() { // 在这里处理你的任务 echo "Task executed: " . $this->name . "\n"; } } ```
最后,你可以在命令行中运行
php artisan make:job YourJob来创建一个新的 Job 进程。你可以使用php artisan schedule:run来启动这个 Job 进程,然后在你想要重复执行的任务中添加一个新的任务。注意:在 Laravel 中,所有的 Job 进程都会被并发执行。如果你想要在一个单独的线程中运行一个 Job 进程,你需要使用 Task 进程。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
