簡體   English   中英

未觸發dotnet核心Azure webjob

[英]dotnet core Azure webjobs not being Triggered

我有一個使用dotnet核心構建的Azure webjob,並且已將其部署到Azure App Service上的部署插槽。 我已按照以下說明進行操作: https ://blogs.msdn.microsoft.com/azuredev/2018/08/22/webjobs-in-azure-with-net-core-2-1/以發布Webjob在正確的文件夾中以及添加run.cmd來調用dll。

Webjob正在通過VSTS部署。 與博客文章中描述的方法相同。 (在App_Data \\ jobs \\文件夾下)。 出於某種原因,它僅在我部署到App_Data \\ jobs \\ continuous而不是按預期的方式進行App_Data \\ jobs \\ trigger時才使消息出隊。 有線索嗎?

我認為您的問題與“觸發的Web作業”應該做什么有關。 措辭令人迷惑,但是“觸發的Web作業”僅在手動觸發或按計划觸發時才啟動。 您想要的是一個連續的WebJob。 您可以將其視為WebJob 持續尋找隊列輸入,該隊列輸入將觸發您的代碼執行。

David在本SO帖子中回答該問題做得非常好,因此我將重新發布他的一些回答:

聽起來您正在使用Azure WebJobs SDK 在SDK方案中,即使“觸發”了您的各個功能,WebJob仍將連續運行(即,您的exe繼續運行並進行自己的內部觸發)。

支持許多文件類型,但對於Windows用戶來說,使用exe,cmd,bat或PowerShell文件是有意義的。 控制台應用程序曾經是exe文件,但是在.NET Core中,它會生成一個常規的DLL文件,我們需要手動啟動該文件。

如您所提供的鏈接,要運行它的WebJob需要一些可執行腳本,可用於執行該腳本。 對於.net核心,它需要手動執行dll文件才能啟動它。

盡管我們還需要執行run.cmd,但我們無法自行創建它。 您可以下載此Webjob核心示例 ,該示例在dotnet core 2.0應用程序中使用Azure WebJobs SDK。 當您部署到Azure時,它將自動創建一個run.cmd文件來啟動webjob。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM