Запускать таймер ровно каждую секунду с помощью systemd - PullRequest
0 голосов
/ 07 мая 2018

Как запустить какой-то сервис ровно каждую секунду? Перекрытие разрешено.

Вот мой таймер для systemd:

[Unit]
Description=Send jobs every second

[Timer]
OnBootSec=1min
OnUnitActiveSec=1s
Unit=app.jobs-send.service

[Install]
WantedBy=multi-user.target

Но app.jobs-send.service служба не выполняется каждую секунду:

May 07 17:57:38 app.deployer.org systemd[1]: Started Send jobs to queue.
May 07 17:57:48 app.deployer.org systemd[1]: Starting Send jobs to queue...
May 07 17:57:48 app.deployer.org systemd[1]: Started Send jobs to queue.
May 07 17:57:58 app.deployer.org systemd[1]: Starting Send jobs to queue...
May 07 17:57:58 app.deployer.org systemd[1]: Started Send jobs to queue.
May 07 17:58:08 app.deployer.org systemd[1]: Starting Send jobs to queue...
May 07 17:58:08 app.deployer.org systemd[1]: Started Send jobs to queue.

Существует разрыв около 17:57:58 - 17:57:48 = 10 секунд.

Как выполнять задачу каждую секунду?

1 Ответ

0 голосов
/ 09 мая 2018

Как указано в man systemd.time , точность OnUnitActiveSec= зависит от настройки AccuracySec=, также задокументированной там. Установите AccuracySec=1us для лучшего разрешения.

...