- Box JWT + Gemini integration for image and video metadata tagging - Description format includes search-keyword tail to address synonym gaps (e.g. "Food" search now hits assets tagged "Dining") - Skip videos exceeding 5GB source or 400MB proxy (~60min runtime, beyond Gemini context budget) — counted as skipped, not errored - Hardened None-response handling in Gemini JSON parser - Per-run limiter: 200 newly-tagged files / 4 hour wall-clock cap, with clean exit and resumable progress on next run - systemd service + timer for daily 2am tagging passes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
19 lines
539 B
SYSTEMD
19 lines
539 B
SYSTEMD
[Unit]
|
|
Description=Schedule daily Marriott Box asset tagging pass
|
|
Documentation=https://bitbucket.org/zlalani/marriott-box-image-video-tagging
|
|
|
|
[Timer]
|
|
# Run every day at 2:00 AM server local time
|
|
OnCalendar=*-*-* 02:00:00
|
|
|
|
# If the server was off when the trigger should have fired, run as soon as it boots
|
|
Persistent=true
|
|
|
|
# Add a small randomized delay so multiple servers (if ever scaled) don't hit
|
|
# Box and Gemini APIs at the exact same instant
|
|
RandomizedDelaySec=5min
|
|
|
|
Unit=marriott-tagger.service
|
|
|
|
[Install]
|
|
WantedBy=timers.target
|