Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Unduhan otomatis
Deadline CLI menyediakan perintah untuk mengunduh output dari semua tugas dalam antrian yang selesai sejak terakhir kali perintah yang sama dijalankan. Anda dapat mengonfigurasi ini sebagai tugas cron atau tugas terjadwal untuk dijalankan berulang kali. Konfigurasi ini mengatur pengunduhan otomatis output secara terus menerus.
Sebelum menyiapkan unduhan otomatis, ikuti langkah-langkah di Profil penyimpanan untuk lampiran pekerjaan untuk mengonfigurasi semua jalur data aset untuk diunggah dan diunduh. Jika pekerjaan menggunakan jalur keluaran yang tidak ada dalam profil penyimpanannya, maka unduhan otomatis akan melewatkan pengunduhan output tersebut dan mencetak pesan peringatan untuk meringkas file yang tidak diunduh. Demikian pula, jika pekerjaan dikirimkan tanpa profil penyimpanan, unduhan otomatis akan melewatkan pekerjaan itu dan mencetak pesan peringatan. Secara default, pengirim Deadline Cloud menampilkan pesan peringatan untuk jalur yang berada di luar profil penyimpanan untuk membantu memastikan konfigurasi yang benar.
Melakukan konfigurasi AWS credentials
Unduhan otomatis menggunakan Deadline CLI untuk terus mengunduh output pekerjaan. Untuk mengotentikasi unduhan ini, Anda memerlukan kredentif IAM jangka panjang. Kredentif monitor Deadline Cloud kedaluwarsa, jadi Anda tidak dapat menggunakannya untuk tujuan ini.
Ikuti langkah-langkah di bawah ini untuk mengatur kredenSIAL jangka panjang.
Perhatikan peringatan berikut:
-
JANGAN gunakan kredentif root akun Anda untuk mengakses AWS sumber daya. KredenSIAL ini menyediakan akses akun tidak terbatas dan sulit untuk dicabut.
-
JANGAN menaruh kunci akses literal atau informasi kredensi dalam file aplikasi Anda. Jika Anda melakukannya, Anda membuat risiko mengekspos kredenSIAL Anda secara tidak sengaja jika, misalnya, Anda mengunggah proyek ke repositori publik.
-
JANGAN ser takan file yang berisi kredenSIAL di area proyek Anda.
-
Amankan kunci akses Anda. Jangan berikan kunci akses Anda kepada pihak yang tidak berwenang, bahkan untuk membantu menemukan pengidentifikasi akun Anda. Dengan melakukan tindakan ini, Anda mungkin memberi seseorang akses permanen ke akun Anda.
-
Ketahuilah bahwa kredenSIAL apa pun yang disimpan dalam file AWS
kredenSIAL bersama disimpan dalam teks biasa.
Untuk detail selengkapnya, lihat Praktik terbaik untuk mengelola kunci AWS akses di Refer AWS
ensi Umum.
Mmebuat pengguna IAM
Buka konsol IAM di https://console.aws.amazon.com/iam/.
-
Di panel navigasi, pilih Pengguna dan kemudian pilih Buat pengguna.
-
Beri nama penggunadeadline-output-downloader. Kosongkan kotak centang untuk Berikan akses pengguna ke Konsol Manajemen AWS, lalu pilih Ber ikutnya.
-
Pilih Lamp irkan kebijakan secara langsung.
-
Pilih Buat kebijakan untuk membuat kebijakan kustom dengan izin minimum yang diperlukan.
-
Di editor JSON, tentukan izin berikut:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "DeadlineCloudOutputDownload",
"Effect": "Allow",
"Action": [
"deadline:AssumeQueueRoleForUser",
"deadline:ListQueueEnvironments",
"deadline:ListSessions",
"deadline:ListSessionActions",
"deadline:SearchJobs",
"deadline:GetJob",
"deadline:GetQueue",
"deadline:GetStorageProfileForQueue"
],
"Resource": "*"
}
]
}
-
Beri nama kebijakan DeadlineCloudOutputDownloadPolicy dan pilih Buat kebijakan.
-
Kembali ke halaman pembuatan pengguna, segarkan daftar kebijakan, dan pilih yang baru saja DeadlineCloudOutputDownloadPolicy Anda buat, lalu pilih Ber ikutnya.
-
Tinjau detail pengguna dan kemudian pilih Buat pengguna.
Buat kunci akses
-
Dari halaman detail pengguna, pilih tab Kreden sibilitas keamanan. Pada bagian Access key, pilih Buat access key.
-
Tunjukkan bahwa Anda ingin menggunakan kunci untuk Lainnya, lalu pilih Ber ikutnya, lalu pilih Buat kunci akses.
-
Pada halaman Ambil kunci akses, pilih Tampilkan untuk mengungkapkan nilai kunci akses rahasia pengguna Anda. Anda dapat menyalin kredensialnya atau mengunduh file.csv.
Simpan kunci akses pengguna
Jika Anda tidak lagi membutuhkan pengguna IAM ini, kami sarankan Anda menghapusnya agar sesuai dengan praktik terbaik AWS keamanan. Kami menyarankan Anda meminta pengguna manusia Anda untuk menggunakan kredenSIAL sementara AWS IAM Identity Center saat mengakses AWS.
Prasyarat
Selesaikan langkah-langkah berikut sebelum membuat pekerjaan cron atau tugas terjadwal untuk unduhan otomatis.
-
Jika Anda belum melakukannya, instal Python.
-
Instal Deadline CLI dengan menjalankan:
python -m pip install deadline
-
Konfirmasikan versi Deadline CLI adalah 0.52.1 atau yang lebih baru dengan perintah berikut.
$ deadline --version
deadline, version 0.52.1
Uji perintah unduhan keluaran
Untuk memverifikasi perintah berfungsi di lingkungan Anda
-
Dapatkan jalan menuju Deadline
- Linux and macOS
-
$ which deadline
- Windows
-
C:\> where deadline
- PowerShell
-
PS C:\> Get-Command deadline
-
Jalankan perintah sync-output ke bootstrap.
/path/to/deadline queue sync-output \
--profile deadline-downloader \
--farm-id YOUR_FARM_ID \
--queue-id YOUR_QUEUE_ID \
--storage-profile-id YOUR_PROFILE_ID \
--checkpoint-dir /path/to/checkpoint/directory \
-
Anda hanya perlu melakukan langkah ini jika mesin pengunduh Anda sama dengan mesin pengiriman. Ganti --storage-profile-id YOUR_PROFILE_ID \ di atas dengan --ignore-storage-profiles
-
Kirim pekerjaan tes.
-
Unduh file.zip dari GitHub.
-
Buka repositori deadline-cloud-sample GitHub .
-
Pilih Kode dan kemudian, dari menu tarik-turun, pilih Unduh ZIP.
-
Buka zip arsip yang diunduh ke direktori lokal.
-
Jalankan .
cd /path/to/unzipped/deadline-cloud-samples-mainline/job_bundles/job_attachments_devguide_output
-
Jalankan .
deadline bundle submit .
-
Jika Anda tidak memiliki pengaturan konfigurasi tenggat waktu default, Anda mungkin perlu memberikan yang berikut di baris perintah.
--farm-id YOUR-FARM-ID --queue-id YOUR-QUEUE-ID
-
Tunggu pekerjaan selesai sebelum melanjutkan ke langkah berikutnya.
-
Jalankan perintah sync-output lagi.
/path/to/deadline queue sync-output \
--profile deadline-downloader \
--farm-id YOUR_FARM_ID \
--queue-id YOUR_QUEUE_ID \
--storage-profile-id YOUR_PROFILE_ID \
--checkpoint-dir /path/to/checkpoint/directory
-
Verifikasi hal berikut:
Siapkan unduhan terjadwal
Pilih tab untuk sistem operasi Anda untuk mempelajari cara mengonfigurasi unduhan otomatis untuk setiap 5 menit.
- Linux
-
-
Verifikasi Batas Waktu Pemasangan CLI
Dapatkan jalur yang tepat ke tenggat waktu Anda yang dapat dieksekusi:
$ which deadline
Perhatikan jalur ini (misalnya,/opt/homebrew/bin/deadline) untuk digunakan dalam file plist.
-
Buat Direktori Pos Pemeriksaan
Buat direktori tempat file checkpoint akan disimpan. Pastikan izin yang tepat bagi pengguna Anda untuk menjalankan perintah.
$ mkdir -p /path/to/checkpoint/directory
-
Buat Direktori Log
Buat direktori untuk log pekerjaan cron:
$ mkdir -p /path/to/logs
Pertimbangkan untuk mengatur rotasi log pada file log menggunakan https://www.redhat.com/en/blog/setting-logrotate
-
Periksa Crontab Saat Ini
Lihat crontab Anda saat ini untuk melihat lowongan yang ada:
$ crontab -l
-
Edit Crontab
Buka file crontab Anda untuk diedit:
$ crontab -e
Pertama kali Anda menjalankan perintah, Anda mungkin diminta untuk memilih editor (nano, vim, dan sebagainya).
-
Tambahkan Entri Pekerjaan Cron
Tambahkan baris berikut untuk menjalankan pekerjaan setiap 5 menit (ganti jalur dengan nilai aktual dari langkah 1 dan 2):
*/5 * * * * /path/to/deadline queue sync-output --profile deadline-downloader --farm-id YOUR_FARM_ID --queue-id YOUR_QUEUE_ID --storage-profile-id YOUR_PROFILE_ID --checkpoint-dir /path/to/checkpoint/directory >> /path/to/logs/deadline_sync.log 2>&1
-
Verifikasi Instalasi Pekerjaan Cron
Setelah menyimpan dan keluar dari editor, verifikasi tugas cron ditambahkan:
$ crontab -l
Anda harus melihat pekerjaan baru Anda terdaftar.
-
Periksa Status Layanan Cron
Pastikan layanan cron berjalan:
# For systemd systems (most modern Linux distributions)
$ sudo systemctl status cron
# or
$ sudo systemctl status crond
# For older systems
$ sudo service cron status
Jika tidak berjalan, mulai:
$ sudo systemctl start cron
$ sudo systemctl enable cron # Enable auto-start on boot
- macOS
-
-
Verifikasi Batas Waktu Pemasangan CLI
Dapatkan jalur yang tepat ke tenggat waktu Anda yang dapat dieksekusi:
$ which deadline
Perhatikan jalur ini (misalnya,/opt/homebrew/bin/deadline) untuk digunakan dalam file plist.
-
Buat Direktori Checkpoint dan Direktori Log
Buat direktori tempat file checkpoint akan disimpan:
$ mkdir -p /path/to/checkpoint/directory
$ mkdir -p /path/to/logs
Pertimbangkan untuk mengatur rotasi log pada file log menggunakan https://formulae.brew.sh/formula/logrotate
-
Buat file Plist
Buat file konfigurasi di ~/Library/LaunchAgents/com.user.deadlinesync.plist dengan konten berikut (ganti /path/to/deadline dengan jalur aktual dari langkah 1):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.deadlinesync</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/deadline</string>
<string>queue</string>
<string>sync-output</string>
<string>--profile</string>
<string>deadline-downloader</string>
<string>--farm-id</string>
<string>YOUR_FARM_ID</string>
<string>--queue-id</string>
<string>YOUR_QUEUE_ID</string>
<string>--storage-profile-id</string>
<string>YOUR STORAGE PROFILE ID</string>
<string>--checkpoint-dir</string>
<string>/path/to/checkpoint/dir</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>YOUR_USER_NAME</string>
<key>StandardOutPath</key>
<string>/path/to/logs/deadline_sync.log</string>
<key>StartInterval</key>
<integer>300</integer>
</dict>
</plist>
Ganti --storage-profile-id YOUR_PROFILE_ID di atas dengan --ignore-storage-profiles jika mesin pengunduh Anda sama dengan mesin pengirim.
-
Validasi File Plist
Validasi sintaks XML file plist Anda:
$ plutil -lint ~/Library/LaunchAgents/com.user.deadlinesync.plist
Perintah mengembalikan “OK” jika file valid.
-
Periksa Agen Peluncuran yang Ada atau Launch Daemon
Periksa apakah agen peluncuran sudah dimuat:
$ launchctl list | grep deadlinesync
OR
$ sudo launchctl list | grep deadlinesync
Jika ada, bongkar dulu:
$ launchctl bootout gui/$(id -u)/com.user.deadlinesync
OR
$ sudo launchctl bootout system/com.user.deadlinesync
-
Buat dan bootstrap
Untuk menjalankan tugas ini saat pengguna masuk, jalankan sebagai LaunchAgent. Untuk menjalankan tugas ini tanpa pengguna masuk setiap kali mesin berjalan, jalankan sebagai LaunchDaemon.
-
Untuk menjalankan sebagai LaunchAgent:
-
Gunakan konfigurasi yang dibuat di bawah ~/Library/LaunchAgents/com.user.deadlinesync.plist
-
Kemudian muat konfigurasi menggunakan perintah bootstrap:
$ launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.user.deadlinesync.plist
-
Untuk menjalankan sebagai LaunchDaemon:
-
Pindahkan file Pilst dan ubah izin dengan menjalankan yang berikut:
$ sudo mv ~/Library/LaunchAgents/com.user.deadlinesync.plist /Library/LaunchDaemons/
$ sudo chown root:wheel /Library/LaunchDaemons/com.user.deadlinesync.plist
$ sudo chmod 644 /Library/LaunchDaemons/com.user.deadlinesync.plist
-
Muat agen peluncuran menggunakan perintah bootstrap modern:
$ sudo launchctl bootstrap system /Library/LaunchDaemons/com.user.deadlinesync.plist
-
Verifikasi Status
Jika Anda melakukan bootstrap, LaunchAgent jalankan hal berikut untuk mengonfirmasi bahwa itu dimuat:
$ launchctl list | grep deadlinesync
Jika Anda melakukan bootstrap LaunchDaemon, konfirmasikan bahwa itu dimuat dengan menjalankan:
$ sudo launchctl list | grep deadlinesync
Outputnya akan terlihat seperti
SOME_PID_NUMBER 0 com.user.deadlinesync
Untuk informasi status terperinci:
$ launchctl print gui/$(id -u)/com.user.deadlinesync
Ini menunjukkan status saat ini, argumen program, variabel lingkungan, interval run, dan riwayat eksekusi.
- Windows
-
Tugas terjadwal yang dibuat menggunakan instruksi ini hanya berfungsi saat pengguna masuk.
Untuk mengaturnya saat startup sistem tanpa memerlukan login pengguna, lihat Windows dokumentasi resmi.
Untuk semua langkah di bawah ini gunakan Command Prompt - jalankan sebagai Administrator:
-
Verifikasi Batas Waktu Pemasangan CLI
Temukan tenggat waktu yang dapat dieksekusi:
C:\> where deadline
Perhatikan jalur lengkap (misalnya,C:\Program Files\Amazon\DeadlineCloud\deadline.exe) untuk digunakan dalam tugas.
-
Buat Direktori Checkpoint
Buat direktori tempat file checkpoint akan disimpan:
C:\> mkdir "path\to\checkpoint\directory"
-
Buat Direktori Log
Buat direktori untuk log tugas:
C:\> mkdir "path\to\logs"
-
Buat Pembungkus File Batch
Buat file batch dengan konten berikut:
C:\> notepad C:\path\to\deadline_sync.bat
YOUR_PATH_TO_DEADLINE.EXE queue sync-output --profile deadline-downloader --farm-id YOUR_FARM_ID --queue-id YOUR_QUEUE_ID --storage-profile-id YOUR_PROFILE_ID --checkpoint-dir path\to\checkpoint\checkpoints > path\to\logs\deadline.log 2>&1
-
Uji Berkas Batch
Uji file batch secara manual:
C:\> .\path\to\deadline_sync.bat
Periksa file log telah dibuat:
C:\> notepad path\to\logs\deadline_sync.log
-
Periksa Layanan Penjadwal Tugas
Pastikan layanan Penjadwal Tugas sedang berjalan:
C:\> sc query "Schedule"
Jika layanan tidak ada, coba nama alternatif:
C:\> sc query "TaskScheduler"
C:\> sc query "Task Scheduler"
Jika tidak berjalan, mulai:
C:\> sc start "Schedule"
-
Buat Tugas Terjadwal
Buat tugas untuk dijalankan setiap 5 menit.
C:\> schtasks /create /tn "DeadlineOutputSync" /tr "C:\path\to\deadline_sync.bat" /sc minute /mo 5
Rincian perintah:
-
Verifikasi Pembuatan Tugas
Periksa apakah tugas berhasil dibuat:
schtasks /query /tn "DeadlineOutputSync" /v /fo LIST
Mencari:
-
Uji Eksekusi Tugas
Jalankan tugas secara manual untuk menguji:
schtasks /run /tn "DeadlineOutputSync"
Periksa status tugas:
schtasks /query /tn "DeadlineOutputSync"
Verifikasi penyiapannya
Untuk memverifikasi penyiapan unduhan otomatis berhasil, selesaikan langkah-langkah berikut.
-
Kirim pekerjaan tes baru.
-
Tunggu satu interval penjadwal selesai, yang dalam hal ini adalah 5 menit.
-
Verifikasi bahwa output baru diunduh secara otomatis.
Jika output tidak diunduh, periksa bagian Pemecahan masalah untuk log proses.
Memecahkan masalah unduhan otomatis
Jika Anda mengalami masalah dengan unduhan otomatis, periksa hal berikut:
Masalah Profil Penyimpanan
-
Kesalahan seperti [Errno 2] No such file or directory atau [Errno 13] Permission denied dalam file log dapat terkait dengan profil penyimpanan yang hilang atau salah dikonfigurasi.
-
Lihat Profil penyimpanan untuk informasi tentang cara mengatur profil penyimpanan Anda saat mesin pengunduh berbeda dari mesin pengirim.
-
Untuk unduhan mesin yang sama, coba bendera. --ignore-storage-profiles
Izin Direktori
-
Pastikan pengguna layanan penjadwal memiliki:
-
Untuk Linux danmacOS, gunakan ls -la untuk memeriksa izin.
-
UntukWindows, tinjau pengaturan Keamanan di folder Properties.
Memeriksa Log Penjadwal
- Linux
-
-
Periksa apakah layanan cron sedang berjalan:
# For systemd systems
$ sudo systemctl status cron
# or
$ sudo systemctl status crond
# Check if your user has cron job correctly configured
$ crontab -l
-
Lihat log eksekusi cron:
# Check system logs for cron activity (most common locations)
$ sudo tail -f /var/log/syslog | grep CRON
$ sudo tail -f /var/log/cron.log | grep deadline
# View recent cron logs
$ sudo journalctl -u cron -f
$ sudo journalctl -u crond -f # On some systems
-
Periksa log pekerjaan cron spesifik Anda:
# View the log file specified in your cron job
$ tail -100f /path/to/logs/deadline_sync.log
-
Cari eksekusi pekerjaan cron di log sistem:
# Look for your specific cron job executions
$ sudo grep "deadline.*incremental-output-download" /var/log/syslog
# Check for cron job starts and completions
$ sudo grep "$(whoami).*CMD.*deadline" /var/log/syslog
-
Periksa pembaruan file pos pemeriksaan:
# List checkpoint files with timestamps
$ ls -la /path/to/checkpoint/directory/
# Check when checkpoint was last modified
$ stat /path/to/checkpoint/directory/queue-*_download_checkpoint.json
-
Periksa file log:
$ ls -la /path/to/log/deadline_sync.log
- macOS
-
Melihat Log Eksekusi Agen Peluncuran:
-
Periksa apakah agen peluncuran sedang berjalan:
$ sudo launchctl list | grep deadlinesync
Output menunjukkan: PID Status Label (PID akan terjadi - saat tidak berjalan, yang normal untuk pekerjaan interval)
-
Lihat status agen peluncuran terperinci:
$ sudo launchctl print system/com.user.deadlinesync
Ini menunjukkan riwayat eksekusi, kode keluar terakhir, jumlah proses, dan status saat ini.
-
Lihat log eksekusi agen peluncuran:
# View recent logs (last hour)
log show --predicate 'subsystem contains "com.user.deadlinesync"' --last 1h
# View logs from a specific time period
log show --predicate 'subsystem contains "com.user.deadlinesync"' --start '2024-08-27 09:00:00'
-
Jalankan paksa agen peluncuran untuk pengujian segera:
$ sudo launchctl kickstart gui/$(id -u)/com.user.deadlinesync
Ini segera memicu pekerjaan terlepas dari jadwalnya, berguna untuk pengujian.
-
Periksa pembaruan file pos pemeriksaan:
# List checkpoint files with timestamps
$ ls -la /path/to/checkpoint/directory/
-
Periksa file log:
$ ls -la /path/to/log/deadline_sync.log
- Windows
-
-
Periksa apakah layanan Penjadwal Tugas sedang berjalan:
C:\> sc query "Schedule"
Jika layanan tidak ada, coba nama alternatif:
C:\> sc query "TaskScheduler"
C:\> sc query "Task Scheduler"
-
Lihat tugas yang dijadwalkan:
C:> schtasks /query /tn "DeadlineOutputSync"
-
Periksa file log tugas Anda:
# View the log file created by your batch script
C:> notepad C:\path\to\logs\deadline_sync.log
-
Periksa pembaruan file pos pemeriksaan:
# List checkpoint files with timestamps
C:> dir "C:\path\to\checkpoint\directory" /od