Este projeto é um serviço desenvolvido em .NET 8 utilizando Hangfire para gerenciamento de tarefas em background. Ele inclui uma API para criar e gerenciar jobs (tarefas) e um dashboard para visualizar o status dessas tarefas.
- Dashboard do Hangfire: https://localhost:7237/hangfire/jobs/scheduled
- Swagger da API: https://localhost:7237/swagger/index.html
Request Body:
"string"
Response
"string"
Request Body:
"string"
Response
"string"
Request Body:
"string"
Response
"string"
Para utilizar o Hangfire com um banco de dados SQL Server, siga as instruções abaixo para criar o banco de dados e as tabelas necessárias:
-- Cria o banco de dados HangFire
CREATE DATABASE HangFire;
GO
-- Seleciona o banco de dados HangFire para uso
USE HangFire;
GO
-- Cria a tabela State
CREATE TABLE State (
Id INT PRIMARY KEY IDENTITY(1,1),
JobId INT NOT NULL,
Name NVARCHAR(255) NOT NULL,
Reason NVARCHAR(MAX) NULL,
CreatAdt DATETIME NOT NULL DEFAULT GETDATE(),
Data NVARCHAR(MAX) NOT NULL
);
GO
-- Cria a tabela Job
CREATE TABLE Job (
Id INT PRIMARY KEY IDENTITY(1,1),
StateId INT NOT NULL,
StateName NVARCHAR(255) NOT NULL,
InvocationData NVARCHAR(MAX) NOT NULL,
Arguments NVARCHAR(MAX) NOT NULL,
CreatAdt DATETIME NOT NULL DEFAULT GETDATE(),
FOREIGN KEY (StateId) REFERENCES State(Id)
);
GO
-
Clone o repositório:
git clone https://github.com/SilvaTs/criando-servico-hangfire-com-dotnet.git
-
Navegue até o diretório do projeto:
cd criando-servico-hangfire-com-dotnet
-
Se você estiver usando o VS CODE Restaure os pacotes NuGet:
dotnet restore
-
Configure o banco de dados:
- Certifique-se de que o SQL Server está rodando.
- Execute os scripts SQL fornecidos acima para criar o banco de dados e as tabelas.
-
Se você estiver usando o VS CODE Execute a aplicação:
dotnet run --project Hangfire
-
Acesse o dashboard do Hangfire:
- Abra seu navegador e acesse https://localhost:7237/hangfire/jobs/scheduled
-
Acesse a documentação da API:
- Abra seu navegador e acesse https://localhost:7237/swagger/index.html
Se você deseja contribuir com o projeto, sinta-se à vontade para fazer um fork do repositório, criar uma nova branch e submeter um pull request.
Este projeto está licenciado sob os termos da MIT License.
Desenvolvido por Daniel Silva.