os horários de início do launchd parecem estar se arrastando cada vez mais tarde

os horários de início do launchd parecem estar se arrastando cada vez mais tarde

Sou novo no launchd, então é possível que tenha feito algo errado. Eu tenho um script que pretendo executar de hora em hora. Para isso, criei um arquivo plist com a seguinte entrada para que isso acontecesse:

<key>StartInterval</key>
<integer>3600</integer>

Ele está sendo executado aproximadamente de hora em hora, mas funciona como se o intervalo de tempo fosse do tempo completo de uma instância até o horário de início da próxima. Digo isso porque os horários de início estão cada vez mais atrasados. Aqui está uma lista:

Aug 30 21:00:43 2016 2016083021 
Aug 30 22:00:45 2016 2016083022 
Aug 30 23:00:49 2016 2016083023
Aug 31 00:00:51 2016 2016083100
Aug 31 01:00:53 2016 2016083101
Aug 31 02:00:54 2016 2016083102
Aug 31 03:00:56 2016 2016083103 
Aug 31 04:00:57 2016 2016083104
Aug 31 05:00:58 2016 2016083105
Aug 31 06:01:00 2016 2016083106
Aug 31 07:01:02 2016 2016083107
Aug 31 08:01:06 2016 2016083108
Aug 31 09:01:11 2016 2016083109
Aug 31 10:01:17 2016 2016083110
Aug 31 11:01:22 2016 2016083111
Aug 31 12:01:27 2016 2016083112
Aug 31 13:01:32 2016 2016083113
Aug 31 14:01:38 2016 2016083114
Aug 31 15:01:43 2016 2016083115
Aug 31 16:01:51 2016 2016083116
Aug 31 17:01:56 2016 2016083117
Aug 31 18:02:02 2016 2016083118

Este é um recurso conhecido do launchd? Devo configurar meu intervalo de início de forma diferente?

Responder1

StartIntervalrepete aproximadamente o número de segundos indicado. StartCalendarIntervalrepete-se na hora especificada do calendário/relógio.

Aqui está o que acabei usando:

<key>StartCalendarInterval</key>
<array>
    <dict>
    <key>Minute</key>
    <integer>0</integer>
    </dict>
</array>

Ainda há algum atraso aleatório, mas é após o tempo especificado, e não após o período decorrido, portanto, não fica cada vez mais tarde.

Sep  1 21:00:08 2016 2016090121
Sep  1 22:00:04 2016 2016090122
Sep  1 23:00:04 2016 2016090123
Sep  2 00:00:02 2016 2016090200
Sep  2 01:00:06 2016 2016090201
Sep  2 02:00:08 2016 2016090202
Sep  2 03:00:02 2016 2016090203
Sep  2 04:00:06 2016 2016090204
Sep  2 05:00:02 2016 2016090205
Sep  2 06:00:02 2016 2016090206
Sep  2 07:00:07 2016 2016090207
Sep  2 08:00:03 2016 2016090208
Sep  2 09:00:04 2016 2016090209
Sep  2 10:00:09 2016 2016090210
Sep  2 11:00:11 2016 2016090211
Sep  2 12:00:11 2016 2016090212
Sep  2 13:00:08 2016 2016090213
Sep  2 14:00:10 2016 2016090214
Sep  2 15:00:10 2016 2016090215
Sep  2 16:00:11 2016 2016090216
Sep  2 17:00:11 2016 2016090217
Sep  2 18:00:14 2016 2016090218
Sep  2 19:00:09 2016 2016090219
Sep  2 20:00:07 2016 2016090220

informação relacionada