Crie um cron job para executar o redis a cada 30 minutos, se não estiver em execução

1

Eu quero criar um cron job que será executado a cada 30 minutos se ainda não estiver em execução, mas não sei o que devo fazer.

Eu sei que o começo deve ser parecido com este */30 * * * */<some path to redis-server file> .

Eu quero criar este cron job porque ele fica um pouco tedioso rodando redis via ./redis-server toda vez que ele falha.

Eu descobri que estava falhando porque o uso da minha memória estava um pouco acima do limite. Obrigado pela sua ajuda.

    
por PiccolMan 01.09.2015 / 00:40

2 respostas

6
  1. Redis não deveria estar falhando. Eu me concentraria nisso primeiro. Está ficando sem memória RAM?
  2. Use algo como Supervisor ou Monit , ou execute o Redis através de algo como Upstart .
por 01.09.2015 / 00:42
1

A resposta que focaliza porque está falhando é a coisa certa a fazer. Para referência futura, se alguém estiver procurando uma maneira de cronicar uma verificação de um aplicativo em execução e iniciá-lo se não estiver, sempre fiz isso com um script bash. Por exemplo:

#!/bin/bash

# Check if httpd is running
if pgrep "httpd" > /dev/null
then
    echo "Running"
else
    /etc/init.d/httpd start
fi

Então você pode agendar o script bash a cada minuto. Essa é a versão simples. Também sugiro registrar as reinicializações em um script para ajudá-lo a rastrear quando seu aplicativo está falhando, para que você possa revisar os registros.

    
por 01.09.2015 / 01:29

Tags