“at” jobs stuck?

5

Eu tenho um sistema que usa o comando at para agendar comandos simples para serem executados posteriormente. O comando em questão usa um bloqueio para que vários comandos iniciados ao mesmo tempo sejam executados sequencialmente ("mutex").

Em um ponto, eu entrei em uma máquina e vi que algo causou que ~ 250 desses trabalhos fossem enfileirados. Não deve ser um problema sério e depois de esperar pelo tempo especificado, vi que os comandos começaram a ser executados e pareciam seqüenciais - como todos os comandos executados, ele foi removido da lista retornada por atq , a uma taxa de 1 por segundo.

Eventualmente, havia 2 trabalhos restantes na fila - bem depois da hora em que eles deveriam ser executados. Aqui está a saída de watch atq :

Every 2.0s: atq                                    Mon Jan  4 17:55:58 2016

242     Tue Jan  5 17:44:00 2016 a root
241     Tue Jan  5 17:44:00 2016 a root

Além disso, executando $ sudo find /var/spool/cron/at* , vejo isto:

/var/spool/cron/atjobs
/var/spool/cron/atjobs/.SEQ
/var/spool/cron/atjobs/a000f201714448
/var/spool/cron/atjobs/a000f101714448
/var/spool/cron/atspool

O daemon atd está sendo executado e, comparando seu PID com outros daemons do sistema, parece que ele não travou nem reapareceu.

Eu sei que posso atrm dos trabalhos e apenas executar os comandos manualmente, mas estou mais interessado em entender por que isso acontece e como evitar que isso aconteça da próxima vez. O que poderia fazer com que esses trabalhos ficassem presos?

O sistema em questão é um Ubuntu 12.04 (preciso) totalmente atualizado.

    
por Guss 04.01.2016 / 18:58

1 resposta

0

Estou respondendo para que isso não apareça mais na lista de perguntas não respondidas, dois anos depois do fato.

Como indicado nos comentários, o OP errou que os trabalhos não estavam previstos para outro dia.

    
por 22.03.2018 / 21:24

Tags