[Azure] - Publicando web jobs com .net core
![[Azure] - Publicando web jobs com .net core](/content/images/size/w2000/2017/03/windows-azure-cloud-2.png)
Ola pessoAll,
No dia a dia trabalhando com aplicações para nuvem, precisamos distribuir os trabalhos para processos em segundo plano. Precisei fazer um deploy de uma 'console application' como WebJob manualmente e a princípio tive um problema:
- Quando o Azure executa um WebJob ele procura por algum tipo de arquivo executável:
.cmd
,.bat
,.exe
e etc ... - Apps em .net core precisam do comando
dotnet projeto.dll
para iniciar.
O jeito mais simples de resolvermos isso é criando um arquivo que o Azure vai interpretar para iniciar nosso WebJob.
Tudo o que precisamos fazer eh criar um arquivo run.cmd
com nosso comando dotnet projeto.dll
.
- Crie um novo arquivo chamado:
run.cmd
o conteúdo deve ser:
dotnet webjob-helloworld.dll // Substitua pelo nome do seu projeto
- Altere o arquivo
project.json
para incluir nosso novo arquivo no publish:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable",
"outputName": "webjob-helloworld",
"emitEntryPoint": true,
"copyToOutput": {
"includeFiles": ["run.cmd"]
}
},
"publishOptions": {
"includeFiles": ["run.cmd"]
},
"dependencies": {},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
}
}
Testando nosso webjob no Azure
Execute o comando dotnet publish
e zipe o conteudo gerado. Vamos criar um webjob
de exemplo e fazer upload do conteudo:
-
Crie um novo webjob:
-
Espera o job executar ou execute manualmente e confira os logs:
Pelos detalhes da execução conseguimos observar que nosso arquivo run.cmd
foi identificado e nossa aplicacao dotnet core foi executada com sucesso.
[03/14/2017 14:27:26 > 7cb363: SYS INFO] Run script 'run.cmd' with script host - 'WindowsScriptHost'
[03/14/2017 14:27:26 > 7cb363: INFO] D:\local\Temp\jobs\triggered\helloworld-netcore\u4qkkidp.21i>dotnet webjob-helloworld.dll
Para automatizar a publicação de webJobs recomendo a leitura de um outro artigo que escrevi sobre publicações no Azure:
É isso ae pessoALL!
Até a próxima.