laravel 任务调度(定时执行任务)

laravel 任务调度(定时执行任务)


任务调度写在  app/Console/Kernel.PHP 文件 schedule 中,里面默认有一个例子。在 schedule 方法里放入自己的执行的代码。比如

这个是每一分钟在数据库里插入一条数据。

[html]

  1. <?php
  2. namespace App\Console;
  3. use Illuminate\Console\Scheduling\Schedule;
  4. use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
  5. use Illuminate\Support\Facades\DB;
  6. class Kernel extends ConsoleKernel
  7. {
  8. /**
  9. * The Artisan commands provided by your application.
  10. *
  11. * @var array
  12. */
  13. protected $commands = [
  14. \App\Console\Commands\Inspire::class,
  15. ];
  16. /**
  17. * Define the application‘s command schedule.
  18. *
  19. * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
  20. * @return void
  21. */
  22. protected function schedule(Schedule $schedule)
  23. {
  24. $schedule->exec(
  25. $schedule->call(function () {
  26. DB::table(‘ceshi‘)->insert([‘contents‘=>‘新的数据‘]);
  27. })->everyMinute()
  28. )->daily();
  29. }
  30. }

写完了,还需要定时执行怎么办?

借助Liunx的crontab  来定时执行

执行,crontab -e

此时显示

出现这样的界面,就是进入crontab里面了,接着

在最下面写入

* * * * * php 项目的路径/artisan schedule:run >> /dev/null 2>&1
按下 Ctrl + X 保存退出
这样就OK ,如果不执行,请下检查代码,以及项目的路径是否正确。
时间: 2024-09-30 19:14:16

laravel 任务调度(定时执行任务)的相关文章

基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度

在之前的文章<推荐一个简单.轻量.功能非常强大的C#/ASP.NET定时任务执行管理器组件–FluentScheduler>和<简单.轻量.功能非常强大的C#/ASP.NET定时调度任务执行管理组件–FluentScheduler之实例篇>中,我们认识和了解了FluentScheduler这款轻量的定时任务调度执行组件.今天再给大家介绍一款关于定时任务调度执行的组件–Quartz.NET,Quartz.Net是Java版Quartz的.NET实现. 相对FluentSchedule

laravel 任务调度器

背景:在实际工作业务中,经常要用到异步任务的方式来进行相关(耗时)任务的处理,这时可能需要采取定时任务的方式来进行.linux自带的crontab定时器工具能很好的解决这个问题.每次项目上线的时候,如有新的异步任务脚本就必定要×××器管理员进行crontab配置修改.因为需要动服务器配置,沟通协调确认的过程都避免不了.laravel自带的schedule任务调度能很好解决这个痛点. laravel任务调度 php artisan schedule:run 实现步骤 1.crontab -e 增加

用Quartz处理定时执行的任务

这次做的项目中,有一部分功能需要实现定时执行.呃,这样说可能有点笼统,打个比方吧.例如用户在登录的时候,连续输错3次密码后,系统会将该用户冻结,不再允许该用户登录系统,等到了晚上零晨时分,再为所有被冻结的用户解冻,这样,用户在第二天又可以正常登录系统了.这样做是为了用户帐号安全,可有效防止暴力破解密码...呃,好像跑题了,咱还是回到正题来.在这里我们只关心怎么能实现每天晚上零晨准时执行为用户解冻的程序. 第一时间,我想到了JDK自带的Timer和TimerTask类,可经过测试,要想做到精准的定

Kettle定时执行(ETL工具)【转】

1,Kettle跨平台使用.    例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下:    1)进入到Kettle部署的路径    2)执行 chmod *.sh,将所有shell文件添加可执行权限    3)在Kettle路径下,如果要执行transformation,就运行./pan.sh -file=?.ktr -debug=debug -log=log.log    其中.-file说明你要运行的transfor

linux定时执行任务crontab命令用法

linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务的命令:crontab 命令 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有

linux上Kettle定时执行(转换的单步执行,job的单步执行,环境变量,kettle定时功能,效率问题等)转自(http://blog.csdn.net/feng19821209/article/details/5800960)

1,Kettle跨平台使用.    例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下:    1)进入到Kettle部署的路径    2)执行 chmod *.sh,将所有shell文件添加可执行权限    3)在Kettle路径下,如果要执行transformation,就运行./pan.sh -file=?.ktr -debug=debug -log=log.log    其中.-file说明你要运行的transfor

linux定时执行任务 转

转自:http://www.cnblogs.com/thinksasa/archive/2013/06/06/3121030.html linux定时执行任务 (1)Linux下如何定时执行php脚本?(2)Linux下如何设置定时任务?(3)Crontab定时执行程序 核心提示:键入 crontab -e 编辑crontab服务文件 分为两种情况:(还有一种情况,当需要传递参数的时候,可以考虑用linux的curl)第一种情况:你的php脚本中没有引入其他PHP文件,也就是说没有include

iOS: 零误差或极小误差的定时执行或延迟执行?

问题如下: 节奏类游戏需要执行很多的跟音乐节拍相关的操作,并且为了保证节奏感,需要让操作跟节拍的关系十分紧密.对两者间隔要求不能超过0.02秒或更低. 目前使用了 GCD 中的 asyncAfter(deadline:)方法,不过误差总是要大于0.05秒,并且还无法保证误差会不会传递下去.请问有更好的方式来解决误差吗? var time = Date().timeIntervalSince1970 let dq = DispatchQueue(label: "queue", qos:

Linux定时执行指定的脚本文件

Linux执行脚本文件,该脚本定时执行的是url链接:①在 cd /.scripts 目录下创建脚本 :    脚本文件格式 , 例如:curl.sh②在脚本中写入要执行的文件 :     /usr/bin/curl https://www.test.com/Test/test.php③命令crontab -e 里面定时执行指定的脚本 :    59 23 */2 * * /.scripts/curl.sh 该脚本的执行时间是每两天的23点59分执行