【问题标题】:Laravel queue And Azure WebJobLaravel 队列和 Azure WebJob
【发布时间】:2021-10-19 10:44:53
【问题描述】:

我在 Azure 应用服务中有一个 Laravel 项目.. 我正在使用 Laravel 队列在后台运行长作业,所以我添加了一个 WebJob 来运行队列..问题是作业顺序执行而不是并行执行。

经过搜索,我发现我需要一个主管来运行多个工人。

我的问题是如何让多个工作人员在 Azure 中运行同一个队列??

我的连续 WebJob:

php %HOME%\site\wwwroot\artisan queue:listen --timeout=0

【问题讨论】:

    标签: laravel azure azure-webjobs laravel-queue azure-appservice


    【解决方案1】:

    根据我对问题的理解。连续作业在运行 Web 应用程序的所有实例上运行。实际上,您可以选择将 WebJob 限制为单个实例(在您的情况下有所不同)。

    请注意,应用服务只会在该作业的根目录下查找脚本(而不是在其子目录下)。仅列出了这些受支持的脚本或程序文件类型here

    Laravel,使用 public/ 子目录作为站点根目录。

    通过将它们复制到 d:\home\site\wwwroot 来部署作业,如下所示。这些作业将在 SCM\Kudu 网站的工作进程下运行,而不是主站点。

    路径:wwwroot\app_data\jobs\continuous{job name})。

    要在部署期间将连续作业设置为单例,您可以简单地创建一个名为 settings.job 的文件,其内容为:{ "is_singleton": true } 并将其放在(特定)WebJob 目录的根目录中。但是,在您的情况下 { "is_singleton": false }

    如果您的要求符合您的要求,您可以使用WebJobs APIAzure Functions

    【讨论】:

      猜你喜欢
      • 2016-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-14
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多