Programar um emprego a cada noite

1

Eu estou escrevendo um script Python que é construído para funcionar como um despertador, onde meu computador irá selecionar aleatoriamente um arquivo de vídeo de uma pasta e reproduzi-lo no momento da entrada.

Eu sei que eu poderia configurá-lo para que a cada noite eu possa dar uma entrada quando eu o executar e dormir até o horário pretendido, mas prefiro não ter que confiar no janela de comando permanecendo aberta a noite toda (principalmente porque se sente feia).

Eu poderia configurá-lo como um cronjob, mas o tempo muda de um dia para o outro. Eu poderia ter meu script definido o cronjob (eu suponho), mas que poderia acabar com um backlog de cronjobs. Talvez eu possa de alguma forma indicar este cronjob específico como o "alarme" e depois apagar o antigo, e refazer o novo? Eu não tenho nenhum cron relacionado que eu não queira que meu script toque.

Ou talvez haja uma solução totalmente diferente na qual não tenha pensado.

    
por thumbtackthief 30.06.2017 / 19:04

3 respostas

2

Aqui: link

O Linux possui um comando at para agendamento de uso único. Você pode usá-lo assim:

echo "python alarm.py" | at 8:00 AM

se você quiser executar o seu despertador às 8:00.

Escreva um arquivo, makeAlarm.py, como tal:

import subprocess
time = input("What time would you like your alarm clock to be set for?:\n")
subprocess.Popen("echo python alarm.py | at " + time)
    
por 30.06.2017 / 21:19
0

Uma opção é ter um script, mas várias entradas do cron - uma para cada hora do dia em que você deseja que o alarme aconteça.

O próprio script pode ser escrito de forma que, toda vez que for executado, ele escolha aleatoriamente um arquivo para reproduzir.

Isso lhe daria a funcionalidade de reproduzir um arquivo aleatório, com a flexibilidade de escolher a hora em que você deseja que o arquivo seja reproduzido. Você também não estará ativamente modificando o arquivo crontab, de forma que não haja risco de danificar outros trabalhos cron. Se você quiser alterar as horas em que o alarme é reproduzido, você terá que editar as tarefas agendadas manualmente de antemão.

    
por 30.06.2017 / 19:49
0

Você provavelmente tem um widget "Alarme" e Linux sendo Linux, é provável que ele tenha um script. No KDE, o KAlarm fará isso. Mas o KAlarm também pode tocar um som, e você pode dar o nome de um link que outra coisa atribui aleatoriamente a um dos seus sons. Muitas opções de repetição / repetição também.

    
por 30.06.2017 / 22:14