You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

32 lines
657 B

  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. echo "Checking upload queue dir..."
  4. export UPLOAD_QUEUE="${UPLOAD_QUEUE:-/data/upload-queue/}"
  5. mkdir -p "${UPLOAD_QUEUE}"
  6. cd "${UPLOAD_QUEUE}"
  7. while [ ! -f ../STOP ]
  8. do
  9. echo "Starting new loop..."
  10. for pack in */; do
  11. echo "Trying claim ${pack}..."
  12. set +e
  13. flock --verbose -x --conflict-exit-code 234 --nonblock "$pack" /upload-single.sh "$pack"
  14. lock_rc="${?}"
  15. set -e
  16. if [ "$lock_rc" -ne 0 ]; then
  17. if [ "$lock_rc" -eq 234 ]; then
  18. echo "Could not claim pack!"
  19. else
  20. echo "Error return: ${lock_rc}."
  21. exit "${lock_rc}"
  22. fi
  23. fi
  24. if [ -f ../STOP ]; then
  25. exit 0
  26. fi
  27. done
  28. sleep 30
  29. done