Estou ciente de que isso não corrigirá o problema original, mas esperamos que ele nos diga se o problema é um bug em launchd
ou qualquer outra coisa.
Já tentou remover o trabalho cron
e reinstitui-lo como um trabalho launchd
adequado? launchd
deve executar os trabalhos cron
, mas parece que você pode estar com problemas.
Você pode criar um trabalho launchd
usando uma GUI, como o Lingon , se preferir, em vez de fazer o .plist você mesmo .
Sample .plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>test.dood.123</string>
<key>ProgramArguments</key>
<array>
<string>cd</string>
<string>/Library/REMOVED/DIRS/report/</string>
<string>&&</string>
<string>nice</string>
<string>-n</string>
<string>15</string>
<string>/usr/local/php5/bin/php</string>
<string>-f</string>
<string>report_generator.php</string>
<string>></string>
<string>/dev/null</string>
<string>2>&1</string>
</array>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
Do meu Google, parece que é um erro em launchd
executando cron
jobs. Fonte: 1
StartInterval simplesmente executará esse intervalo de segundos a partir da última execução do trabalho.
StartCalendarInterval permitirá que você o execute em horários definidos e, em vez do <key>StartInterval</key>
no exemplo acima, use o seguinte:
Executar apenas às 3:15
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer>
<key>Minute</key>
<integer>15</integer>
</dict>
Execute a cada 5 minutos - StartCalendarInterval com uma matriz. (Eu não sei de uma maneira melhor de escrever isso, então eu adoraria alguém para elaborar sobre isso)
<key>StartCalendarInterval</key>
<array>
<dict>
<key>Minute</key>
<integer>0</integer>
</dict>
<dict>
<key>Minute</key>
<integer>5</integer>
</dict>
<dict>
<key>Minute</key>
<integer>10</integer>
</dict>
<dict>
<key>Minute</key>
<integer>15</integer>
</dict>
<dict>
<key>Minute</key>
<integer>20</integer>
</dict>
<dict>
<key>Minute</key>
<integer>25</integer>
</dict>
<dict>
<key>Minute</key>
<integer>30</integer>
</dict>
<dict>
<key>Minute</key>
<integer>35</integer>
</dict>
<dict>
<key>Minute</key>
<integer>40</integer>
</dict>
<dict>
<key>Minute</key>
<integer>45</integer>
</dict>
<dict>
<key>Minute</key>
<integer>50</integer>
</dict>
<dict>
<key>Minute</key>
<integer>55</integer>
</dict>
</array>
Para obter mais informações, consulte a seção Migrando do cron na documentação de launchd e página man