Как сделать команду запуска с помощью сторожа? - PullRequest
0 голосов
/ 05 мая 2020

Привет, я буду использовать сторожа для загрузки изображений. У изображений будут папки, поэтому я буду использовать .json для выполнения команды.

Это мои изображения:

/home/user/Documents/Images/folder1/image1.png
/home/user/Documents/Images/folder2/image2.png

У меня есть список переменных среды для экспорта watchman_env

export CONDA_ENV=image_uploader
export IMG_FOLDER=/home/user/Documents/Images
export UPLOADER_SCRIPT=/home/user/Documents/Script/uploader.sh
export PYTHON_UPLOADER=/home/user/Documents/Script/img_uploader.py
export JSON_TRIGGER=/home/user/Documents/Script/uploader.json

Это мой скрипт загрузки, ~/Script/uploader.sh

. watchman_env
conda run -n $CONDA_ENV python $PYTHON_UPLOADER $IMG_FOLDER

Это моя json конфигурация, ~/Script/uploader.json:

["trigger", "/home/user/Documents/Images", {
  "name": "img_uploader",
  "expression": ["match", "**/*.png"],
  "command": ["/home/user/Documents/Script/uploader.sh"]
}]

Я запускаю с помощью другого файла bash, init.sh, так как я хочу запустить еще несколько команд.

. watchman_env
watchman --json-command < $JSON_TRIGGER

Когда я запускаю uploader.sh, мой python скрипт загружает два изображения. Однако когда я запускаю init.sh, он не срабатывает. Что не так с моим кодом? И правильно ли использовать json триггер?

версия wathman: 4.9.0

1 Ответ

0 голосов
/ 06 мая 2020

Я просто добавил к выражению wholename и наконец заработал.

["trigger", "/home/user/Documents/Images", {
  "name": "img_uploader",
  "expression": ["match", "**/*.png", "wholename"],
  "command": ["/home/user/Documents/Script/uploader.sh"]
}]
...