Upstart: Repete uma tarefa como um serviço

2

Eu tenho um número de serviços no init.d que são simples comandos de uma linha envolvidos em um script que se repete a cada poucos segundos. O modelo para eles se parece com isso:

por exemplo,

#!/bin/sh
autostart() {
    while true
    do
            $@ ; sleep 20
    done
}

case "$1" in
    start)
            echo " started"
            autostart /path/to/checksomethingquickly
            ;;
    stop)
            me='basename $0'
            killall checksomethingquickly $me
            ;;
esac

## End of File

O ponto crucial deste "serviço" é chamar o checksomething rapidamente a cada 20 segundos. (Por isso, é muito rápido para o cron.) Queremos que ele seja iniciado quando for solicitado e interrompa todas as instâncias em execução quando for solicitado a parar.

Parece-me que poderia ser um "Trabalho de Tarefa" no upstart, mas não estou certo de como garantir que a Tarefa seja repetida indefinidamente e separada por 20 segundos. Garantir que seja serializado também seria uma boa melhoria.

Este é o tipo de script que pode ser transformado em um script inicial? Se sim, como?

    
por tudor 11.01.2013 / 03:44

0 respostas

Tags