Как я могу использовать launchd для периодического запуска поддельных сборок?

#macos #launchd #f#-fake

#macos #launchd #f #-поддельный

Вопрос:

У меня есть поддельная сборка для домашнего использования, которую я хотел бы запускать каждый час. Моя сборка отлично запускается из командной строки с fake run , но когда я пытаюсь использовать ее из launchd, она выдает «Ошибка при разборе командной строки, использование: и т.д.».

Мой Housekeeping.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>EnvironmentVariables</key>
    <dict>
        <key>DOTNET_CLI_HOME</key>
        <string>/Users/larryobrien</string>
    </dict>
    <key>InitGroups</key>
    <true/>
    <key>Label</key>
    <string>CheckDoing</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/larryobrien/.dotnet/tools/fake</string>
        <string>run</string>
    </array>
    <key>StandardErrorPath</key>
    <string>CheckDoing.err</string>
    <key>StandardOutPath</key>
    <string>CheckDoing.out</string>
    <key>StartCalendarInterval</key>
    <array>
        <dict>
            <key>Minute</key>
            <integer>0</integer>
        </dict>
    </array>
    <key>WorkingDirectory</key>
    <string>/Users/larryobrien/src/Housekeeping</string>
</dict>
</plist>
  

Не уверен, является ли это вопросом SO или вопросом суперпользователя, но поскольку я думаю, что это сводится к знакомству с Fake, я собираюсь попробовать это здесь.

Комментарии:

1. Я не знаком с fake, но разве вам не нужно указывать ему, что запускать?

2. Команда fake run автоматически запустит скрипт, вызываемый build.fsx , если этот файл существует. В этом случае, я полагаю, что, поскольку у меня есть WorkingDirectory ключ в .plist, он должен получить этот файл (который действительно существует — fake run отлично работает из командной строки).