|
8 | 8 |
|
9 | 9 | isactive() |
10 | 10 | { |
11 | | - [[ -f "/etc/cron.d/nc-previews-auto" ]] |
| 11 | + [[ -f "/etc/cron.hourly/ncp-previewgenerator" ]] |
12 | 12 | } |
13 | 13 |
|
14 | 14 | configure() |
15 | 15 | { |
| 16 | + # Disable during build |
| 17 | + ! [[ -f /.ncp-image ]] || return 0 |
| 18 | + |
16 | 19 | [[ "$ACTIVE" != "yes" ]] && { |
17 | | - rm -f /etc/cron.d/nc-previews-auto |
18 | | - service cron restart |
| 20 | + rm -f "/etc/cron.hourly/ncp-previewgenerator" |
19 | 21 | echo "Automatic preview generation disabled" |
20 | 22 | return 0 |
21 | 23 | } |
22 | 24 |
|
23 | | - grep -qP "^\d+$" <<<"$RUNTIME" || { echo "Invalid RUNTIME value $RUNTIME"; return 1; } |
24 | | - RUNTIME=$((RUNTIME*60)) |
25 | | - |
26 | | - echo "0 2 * * * root /usr/local/bin/nc-previews" > /etc/cron.d/nc-previews-auto |
27 | | - chmod 644 /etc/cron.d/nc-previews-auto |
| 25 | + ncc app:getpath previewgenerator > /dev/null || ncc app:install previewgenerator |
| 26 | + is_app_enabled previewgenerator || ncc app:enable previewgenerator |
| 27 | + ncc config:app:set --value="64 256" previewgenerator squareSizes |
| 28 | + ncc config:app:set --value="256 4096" previewgenerator fillWidthHeightSizes |
| 29 | + ncc config:app:set --value="64 256 1024" previewgenerator widthSizes |
| 30 | + ncc config:app:set --value="64 256 1024" previewgenerator heightSizes |
| 31 | + ncc config:app:set --value=false --type=boolean previewgenerator job_disabled |
| 32 | + ncc config:app:set --value=3000 --type=integer previewgenerator job_max_execution_time |
| 33 | + ncc config:app:set --value=0 --type=integer previewgenerator job_max_previews |
28 | 34 |
|
29 | | - cat > /usr/local/bin/nc-previews <<EOF |
30 | | -#!/bin/bash |
31 | | -echo -e "\n[ nc-previews-auto ]" >> /var/log/ncp.log |
32 | | -( |
33 | | - for i in \$(seq 1 \$(nproc)); do |
34 | | - ionice -c3 nice -n20 /usr/local/bin/ncc preview:pre-generate -n -vvv & |
35 | | - done |
36 | | - wait |
37 | | -) 2>&1 >>/var/log/ncp.log & |
38 | | -
|
39 | | -PID=\$! |
40 | | -[[ "$RUNTIME" != 0 ]] && { |
41 | | - for i in \$(seq 1 1 $RUNTIME); do |
42 | | - sleep 1 |
43 | | - kill -0 "\$PID" &>/dev/null || break |
44 | | - done |
45 | | - pkill -f preview:pre-generate |
46 | | - pkill -f preview:generate-all |
47 | | -} |
48 | | -wait "\$PID" |
49 | | -EOF |
50 | | -chmod +x /usr/local/bin/nc-previews |
51 | 35 |
|
52 | | - service cron restart |
| 36 | + install_template cron.hourly/ncp-previewgenerator /etc/cron.hourly/ncp-previewgenerator |
| 37 | + chmod +x /etc/cron.hourly/ncp-previewgenerator |
53 | 38 | echo "Automatic preview generation enabled" |
54 | 39 | return 0 |
55 | 40 | } |
|
0 commit comments