Laravel Scheduler 与 Crontab 之间的性能

问题描述 投票:0回答:1

我一直使用 Linux Crontab 来调用我的 cronjobs。大多数时候我只有 5 到 10 个 cronjobs,这是相当容易管理的,特别是在 UI 方面。我也多次使用过 cPanel cronjobs 界面,它基本上是 Linux Crontab 的掩码。

我现在面临的项目大约有 20 个 cronjobs(并且可以增长),必须在一天中的不同时间执行。我通过 cPanel 管理所有这些 cronjobs。事情可能会变得有点混乱,特别是因为我不允许上下移动已经创建的 cronjobs。

我想知道,与 Crontab 相比,使用 Laravel Scheduler 处理所有 cronjobs 的性能有多糟糕?

据我了解:

  • 使用 cPanel / Crontab 将处理 cronjob 的操作委托给操作系统,这意味着如果没有要执行的 cronjob,我的应用程序永远不会收到任何请求
  • 使用 Laravel Scheduler 我的应用程序每分钟都会被执行,无论是否有 cronjobs 被执行
laravel cron laravel-scheduler
1个回答
0
投票

在 Laravel Scheduler 中,你将只有一个 Cron

php artisan schedule:run

Laravel 的优点是你可以通过代码设置所有的日程安排,而不需要访问服务器来设置 cron 或访问面板(CPanel)。

检查是否存在某些日程安排的过程并不繁重。所以我在使用 Laravel Scheduler 时没有发现任何问题。 20 个工作岗位的数量非常少,值得担心。

但是,在 Laravel Scheduler 中,默认情况下,同时安排的多个任务将根据您在 Schedule 方法中定义的顺序依次执行。如果您有长时间运行的任务,这可能会导致后续任务的启动时间比预期晚得多。如果您想在后台运行任务以便它们同时运行,您可以使用

runInBackground
方法。

© www.soinside.com 2019 - 2024. All rights reserved.