资讯专栏INFORMATION COLUMN

Laravel 执行用户自定义的定时任务

izhuhaodev / 3617人阅读

摘要:原文来自问题在中,如果我们想使用定时任务的话,对应我们开发人员来说非常简单,只需要参照官网的定时任务文档基本就可以实现了。总结以上就简单实现了执行用户自定义定时任务的需求。

原文来自 https://www.codecasts.com/blo...

问题

在 Laravel 中,如果我们想使用定时任务的话,对应我们开发人员来说非常简单,只需要参照官网的定时任务文档基本就可以实现了。

然而如果我们是在开发一个运维类似的 Sass 应用的时候,我们如何实现用户可以自定义定时任务,然后再在我们的应用中执行?

解决方案

其实解决方案可以非常的简单:在 app/Console/Kernel.php 文件里面,加上类似下面的一小段代码:

if (Schema::hasTable("tasks")) {
  $tasks = Task::all();
  foreach ($tasks as $task) {
    $schedule->call(function() use ($task) {
      // 主要这里,在记录用户的定时任务的时候
     // 我们一定要记录定时任务的执行频次
    })->cron($task->frequency);
  }

上面的代码其实很简单,但是对于前文提到的应用场景其实很有效果,当然,你也是可以在这里结合 Laravel 的任务调度来完成的。

总结

以上就简单实现了执行用户自定义定时任务的需求。你有更好的方案可分享的时候,劳烦在评论处告知。

关注 codecasts 公众号,即可领取 100元 双十一优惠券,更有机会免费领会员!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26034.html

相关文章

  • Laravel 技巧之 定时任务

    摘要:对于定时任务的基本用法,官网文档已经描述得很详细了,这里不再多说。这种情况下如果定时任务能够并行执行,就不会有这样的问题。这个时候我们希望能够像队列那样,将定时任务分散到多台服务器上。 定时任务 Scheduled Tasks 是 Laravel 提供的组件之一,稍微上点规模的项目应该都会用到,比如开发微信应用时通过定时任务去刷新access token,比如每天定时发推送提现用户要记...

    keithyau 评论0 收藏0
  • 高性能千万级定时任务管理服务forsun laravel插件使用详解

    摘要:高性能高精度定时服务,轻松管理千万级定时任务。支持任务到期触发和。支持创建延时任务和定时到期任务,和原生保持相同接口,轻松使用。不支持任务输出任务钩子及维护模式。是不指定任务名时自动生成,每个任务名必须唯一,相同任务名重复定义将会自动覆盖。 Forsun高性能高精度定时服务,轻松管理千万级定时任务。 定时服务项目地址:https://github.com/snower/forsun l...

    Muninn 评论0 收藏0
  • laravel 任务调度实例

    摘要:导语之前写过使用的进行定时任务,实际上也可以执行定时任务。需求是统计每日访问的数,虽然数据表中有数据,为了演示,新建监听器统计。记录这篇文章中介绍了实现了事件监听器,在此基础上进行扩展。 导语 之前写过使用 Linux 的进行定时任务,实际上 laravel 也可以执行定时任务。需求是统计每日访问的 IP 数,虽然数据表中有数据,为了演示,新建监听器统计。 记录 IP 这篇文章中介绍了...

    loonggg 评论0 收藏0
  • Laravel 开源项目 『 糖果盒子 - Web 开发者书签导航 』

    摘要:项目概述糖果盒子是采用开发的站点导航应用,专注分享优质开发资源站点,希望成为开发人员最喜爱的的书签导航。线上地址糖果盒子开发者的书签导航地址求环境要求部署安装本项目代码使用框架开发,本地开发环境使用。 showImg(https://segmentfault.com/img/remote/1460000012018405?w=3346&h=1950);showImg(https://s...

    姘存按 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<