Мака программы OS X запуска системы launchd позволяет работу планирования Создавая запуск программ агента, можно запускать программы с помощью одного из следующих событий:Как заменить планирование запуска программ с помощью программы Python
- интервал времени истечет
- определенная календарная дата пришел
- путь к файлу был изменен
- что-то был помещен в определенный каталог (каталог очереди)
- объем был установлен
Я ранее полагалась на запуск программ, чтобы начать набор сценариев Python для автоматизации системы OS X. Однако, поскольку добавление нового скрипта также часто требует установки нового запускающего агента для его запуска, я хотел бы принять launchd из уравнения. Программа Python должна ждать и наблюдать за событиями, подобными приведенным выше, а затем отправить соответствующую процедуру.
Есть ли модуль Python, который подходит для обнаружения событий, подобных приведенным выше? Или, как более общий вопрос, как я могу заменить launchd в этом параметре, используя Python (и, возможно, AppleScript через мост AppScript)? Извините, если вопрос довольно расплывчатый. Предложения по чтению также приветствуются.
Спасибо, я могу использовать это для томов и каталогов очереди. Все еще ищете что-то, что облегчает просмотр событий с учетом времени. –
@ D-Bug: для планирования событий по истечении прошедшего времени вы можете использовать модуль 'sched' - он находится в стандартной библиотеке. Вы также можете проверить этот ответ SO: http://stackoverflow.com/questions/373335/suggestions-for-a-cron-like-scheduler-in-python – unutbu
Следующий вопрос о pyfsevents: Кажется, что вызов pyfsevents.listen() блокирует весь процесс python, а не только вызывающий поток. Я бы хотел, чтобы поток ожидал входящих событий файловой системы. Есть ли способ сделать это? –