
Я разрабатываю свое первое приложение для Ubuntu, и часть функциональности приложения будет включать отображение уведомлений на основе дат, которые находятся в базе данных SQLite. Как мне заставить приложение автоматически выполнять задачу каждый день в определенное время, без необходимости запускать приложение пользователем. Так что, по сути, мне нужно, чтобы приложение всегда работало в фоновом режиме, я думаю?
(Я использую Python и GTK+3)
Спасибо!
решение1
Этот вопрос больше подходит дляпереполнение стека, но тем не менее действительны. Вы ищете то, что известно как демон в мире *nix. Демон — это фоновая служба, которая обычно запускается автоматически при загрузке, но может быть вызвана в любое время.
У меня не было большого опыта работы с демонами на основе Python (только C), но концепции схожи. СмотритеэтотКод daemon-skeleton из Python Cookbook. Все, что вам нужно сделать, это переопределить метод run()
в производном классе MyDaemon.
Если наличие дополнительного класса исключительно для демонизации — это излишество (я не понимаю, как это сделать, но в любом случае), попробуйтеэтот(найдено на stackoverflow) :)
Надеюсь это поможет! :)