Я задавал очень похожий вопрос ранее , но масштабы проекта быстро выходят за пределы того, где меня могут получить сигналы (я думаю). По сути, моя программа будет работать с тремя разными интервалами; одна функция каждые 15 секунд, одна функция с настраиваемым интервалом (обычно от 5 до 60 секунд) и одна функция каждый час или два.
С интуитивно понятной точки зрения кажется, что множественные вызовы signal.signal () с отдельными функциями не слишком далеко ушли бы от меня: таймер ITIMER_REAL выдает только один сигнал - SIGALRM, и, таким образом, не было бы способа определить итимер выдает сигнал. Поскольку для функции 15-секундного интервала требуется для запуска независимо от того, что может происходить с другими функциями, у меня остается выбор: многопоточность или многопроцессорность.
Я склоняюсь к многопроцессорности, в надежде, что смогу просто создать три дочерних процесса, каждый со своими собственными интервалами сигнала / итимера, и позволить каждому из них выполнять свою работу на досуге. Это возможно? Если нет, то как лучше всего запустить эти три функции с желаемыми интервалами?