Sidekiq é uma biblioteca popular
para processamento de trabalhos em segundo plano em aplicações Ruby on
Rails. Ele utiliza o Redis como backend para armazenar e gerenciar a
fila de trabalhos, proporcionando um processamento eficiente e
escalável. Sidekiq permite que desenvolvedores definam tarefas
assíncronas que serão executadas em segundo plano, liberando a thread
principal para lidar com outras solicitações. Ele suporta recursos
avançados, como agendamento de trabalhos, enfileiramento prioritário e
retenção de falhas, garantindo a confiabilidade e a recuperação de
erros. Com sua interface simples e fácil, o Sidekiq se tornou uma
escolha popular para lidar com tarefas demoradas ou que não precisam de
resposta imediata, melhorando a experiência do usuário.
Como monitorar Sidekiq na One Platform
Para configurar um monitoramento
de Sidekiq na plataforma, vá até a aplicação do produto em que deseja
adicionar a Queue como dependência. Clique no menu produtos, clique no
card do produto desejado e, depois, clique no nome da aplicação
desejada.
Em External Dependencies,
localizado logo abaixo do gráfico de latência, você pode adicionar ou
buscar uma dependência já cadastrada. Para procurar uma dependência,
digite o nome da mesma no campo de busca. Já para adicionar uma nova,
clique no botão verde com um símbolo de mais (+).
Ao clicar em adicionar, um modal
irá aparecer. Nele você irá nomear a sua fila e escolher o Enviroment.
No campo do Check type, escolha a opção Queue e no Method, escolha
Sidekiq. Após escolher o método, um campo para Healthcheck URL
aparecerá.
No campo Queue size, coloque o
máximo do tamanho de fila desejada. Selecione o Skip SSL Validation para
ignorar a existência do certificado de SSL. Já nos campos Busy Size,
Scheduled Size e Connected Clients, preencha de acordo com o número
desejado para alertar sobre incidentes.
Confira abaixo o exemplo de string para o Sidekiq.
ex: http://example.com/sidekiq/stats
Obs.: Por motivos de segurança,
não é permitido inserir um IP no campo de healthcheck. Para monitorar um
IP, é necessário inserí-lo em uma secret e usá-la no healthcheck