基于命令行的 Azure WebJobs,按计划 - 不再可能了吗?

Azure WebJobs that are command line based, on a schedule - no longer possible?

我使用 sugar CRM,它有 cron.php

我敢肯定,很久以前在旧门户中,当 "web jobs PREVIEW" 在网站仪表板上可见时,我做了一个名为 cron.php 的网络作业,它似乎运行良好.我不记得我是否直接通过它的 URL 调用了 cron.php (不太可能,因为它包含禁止这样做的代码)或者我是否有其他方法使命令行 php 处理器处理脚本(更有可能,但无法获得足够的网络作业详细信息来检查)

去年 8 月左右它停止了,不知道为什么,但现在似乎无法重新设置它,或者 azure 现在如何支持计划作业

在新门户中,我可以上传一个 ZIP 文件,其中包含我需要的命令的 bat 文件:主要是

CD d:\home\site\wwwroot 
php -f cron.php

cron.php 的代码检查它是从命令行环境启动的。我认为这与从 URL 启动不同,因为如前所述,前往 mysite.com/cron.php 似乎不起作用,它只是响应重定向到主页站点并且不写入任何 cron 日志条目。从命令行启动时,例如KUDU 控制台或 webjob bat-file-in-a-zip-file 方法,它按预期工作

太好了,我已经上传了 zip 文件,使其成为新 azure 门户中的新按需作业,现在我正在寻找一种每 10 分钟调用一次该作业的方法

我读过这个博客:https://azure.microsoft.com/en-gb/documentation/articles/web-sites-create-web-jobs/ 但它可能已经过时了,因为它似乎暗示有一种方法可以将基于 zip 的文件作为网络作业上传到旧门户中,现在我只能找到方法来每 X 分钟调用一次 URL。它还似乎指的是旧门户中不再存在的页面选项和链接:

Create a scheduled webjob

1) ...In the old portal go to the WebJob page and click Add.

我不确定 "the webjob page" 是什么意思;我能找到与 webjobs 相关的唯一方法是进入 Azure Scheduler,然后进入 webjob 集合。

我想曾几何时 "the webjob page" 可以通过点击进入网站时看到的一排链接访问(仪表板、监视器、缩放、配置...)

此外,虽然我可以找到进入新门户中基于 zip 的 webjob 的 SCM 页面的方法,但我找不到从 URL 调用该作业的方法,否则我将 URL 插入旧门户中的调度程序

关于从这里去哪里有什么建议吗?新门户似乎不支持时间表,但提供了一种上传正确调用和运行 cron.php 的脚本的方法,旧门户似乎不支持任何上传正确调用 cron.php 的脚本的方法,但它确实提供了支持时间表..

要么是我有点笨,漏掉了一些非常明显的东西,要么是 Azure 团队在最近的某个时间为整个世界打破了一对相当重要的场景(上传脚本,按计划调用它)-我想这会引起轩然大波,所以希望前者是真的

您可以使用 SCM 站点 api 列出所有 "triggered" 网络工作:

https://<sitename>.scm.azurewebsites.net/api/triggeredwebjobs

您可以使用以下方式调用作业:

https://<sitename>.scm.azurewebsites.net/api/triggeredwebjobs/{job name}/run

至于在旧门户中看不到网络作业,这听起来很奇怪,我们仍然在包含触发和连续网络作业的网站上看到它。

我同意 miracledev,因为我可以在旧门户上看到 WebJobs 选项卡,它允许我上传和安排 zip 作业。 请确保您已选择 Web 应用程序,'Webjobs' 是 https://azure.microsoft.com/en-gb/documentation/articles/app-service-web-overview/ 上描述的 Web 应用程序概念之一。如果我们对您的原始问题有任何误解,请随时告诉我们。