Cron Job работает очень медленно - PullRequest
0 голосов
/ 11 января 2020

У меня есть задание cron, которое вызывает скрипт оболочки. Сценарий отправляет POST-запросы на локальный хост с использованием CURL.

Cron-сценарий:

PATH=/bin:/sbin:/usr/bin:/usr/sbin

0 0 * * * reboot now
2 11 * * 0 /bin/sh /usr/share/power/turn_off_outlets.sh

turn_off_outlets. sh:

#!/bin/sh

#arg 1 is outlet and arg two is the relay state(true for on, false for off)
power_ctrl_outlet() {
  echo "Turning outlet $1 to $2"
  curl -X PUT http://localhost/restapi/relay/outlets/$1/state/ -H 'Acc: application/json' -H 'Authorization: Basic YWRtaW46JGNpZW5jZQ==' -H 'Cache-Control: no-cache' -H 'Content-Type: application/x-www-form-urlencoded' -H 'cache-control: no-cache' -d "value=$2"
}

turn_off_all_outlets() {
  power_ctrl_outlet 0 false
  power_ctrl_outlet 1 false
  power_ctrl_outlet 2 false
  power_ctrl_outlet 3 false
  power_ctrl_outlet 4 false
  power_ctrl_outlet 5 false
  power_ctrl_outlet 6 false
  power_ctrl_outlet 7 false
}


turn_off_all_outlets

Запуск сценария из командной строки работает нормально, но когда cron выполняет скрипт, это занимает очень много времени. Я попытался использовать nice для установки уровня приоритета, но это замедляет всю систему.

Система BusyBox v1.22.1 () built-in shell (ash)

Любой ввод приветствуется.

...