Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Unduhan otomatis
The Deadline CLI menyediakan perintah untuk men-download output dari semua tugas dalam antrian yang selesai sejak terakhir kali perintah yang sama berjalan. Anda dapat mengonfigurasi ini sebagai tugas cron atau tugas terjadwal untuk dijalankan berulang kali. Ini menciptakan pengunduhan output secara otomatis secara terus menerus.
Sebelum menyiapkan unduhan otomatis, ikuti langkah-langkah di Profil penyimpanan untuk lampiran pekerjaan guna mengonfigurasi semua jalur data aset untuk diunggah dan diunduh. Jika pekerjaan menggunakan jalur keluaran yang tidak ada dalam profil penyimpanannya, maka unduhan otomatis melewatkan pengunduhan output itu dan mencetak pesan peringatan untuk meringkas file yang tidak diunduh. Demikian pula, jika pekerjaan dikirimkan tanpa profil penyimpanan, unduhan otomatis 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.
Mengkonfigurasi kredensial AWS
Jika Anda ingin menjalankan perintah sinkronisasi keluaran secara manual, atau untuk memahami cara kerjanya sebelum mengonfigurasinya sebagai tugas cron, Anda dapat menggunakan kredensil dari masuk ke aplikasi desktop monitor Deadline Cloud.
Kredensi lokal AWS
Pekerja lokal Anda menggunakan kredensil untuk mengakses keluaran lampiran pekerjaan Deadline Cloud. Untuk akses yang paling aman, sebaiknya gunakan IAM Roles Anywhere untuk mengautentikasi pekerja Anda. Untuk informasi selengkapnya, lihat Peran IAM Di Mana Saja.
Untuk pengujian, Anda dapat menggunakan kunci akses pengguna IAM untuk AWS kredensil. Kami menyarankan Anda menetapkan kedaluwarsa untuk pengguna IAM dengan menyertakan kebijakan inline yang membatasi.
Perhatikan peringatan berikut:
-
JANGAN gunakan kredensi root akun Anda untuk mengakses AWS sumber daya. Kredensi ini menyediakan akses akun yang tidak terbatas dan sulit dicabut.
-
JANGAN menaruh kunci akses literal atau informasi kredensi dalam file aplikasi Anda. Jika Anda melakukannya, Anda membuat risiko secara tidak sengaja mengekspos kredensialnya jika, misalnya, Anda mengunggah proyek ke repositori publik.
-
JANGAN sertakan file yang berisi kredensil di area proyek Anda.
-
Amankan kunci akses Anda. Jangan berikan kunci akses Anda kepada pihak yang tidak berwenang, bahkan untuk membantu menemukan pengenal akun Anda. Jika melakukannya, Anda mungkin akan memberi seseorang akses permanen ke akun Anda.
-
Ketahuilah bahwa setiap kredensil yang disimpan dalam file AWS
kredensial bersama disimpan dalam teks biasa.
Untuk detail selengkapnya, lihat Praktik terbaik untuk mengelola kunci AWS akses di Referensi AWS
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 Menyediakan akses pengguna ke AWS Management Console, lalu pilih Berikutnya.
-
Pilih Lampirkan kebijakan secara langsung.
-
Pilih Buat kebijakan untuk membuat kebijakan khusus 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 DeadlineCloudOutputDownloadPolicysaja dibuat, lalu pilih Berikutnya.
-
Tinjau detail pengguna dan kemudian pilih Buat pengguna.
Batasi akses pengguna ke jendela waktu terbatas
Kunci akses pengguna IAM apa pun yang Anda buat adalah kredensi jangka panjang. Untuk memastikan bahwa kredensil ini kedaluwarsa jika salah penanganan, Anda dapat membuat kredensil ini terikat waktu dengan membuat kebijakan inline yang menentukan tanggal setelah kunci tidak lagi valid.
-
Buka pengguna IAM yang baru saja Anda buat. Di tab Izin, pilih Tambahkan izin, lalu pilih Buat kebijakan sebaris.
-
Di editor JSON, tentukan izin berikut. Untuk menggunakan kebijakan ini, ganti nilai aws:CurrentTime stempel waktu dalam kebijakan contoh dengan waktu dan tanggal Anda sendiri.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2024-01-01T00:00:00Z"
}
}
}
]
}
Buat kunci akses
-
Dari halaman detail pengguna, pilih tab Security credentials. Pada bagian Access key, pilih Buat access key.
-
Tunjukkan bahwa Anda ingin menggunakan kunci untuk Lainnya, lalu pilih Berikutnya, 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
-
Simpan kunci akses pengguna dalam file AWS kredensial di sistem Anda:
-
PadaLinux, file tersebut terletak di ~/.aws/credentials
-
PadaWindows, file tersebut terletak di %USERPROFILE\.aws\credentials
Ganti kunci berikut:
[deadline-downloader]
aws_access_key_id=ACCESS_KEY_ID
aws_secret_access_key=SECRET_ACCESS_KEY
region=YOUR_AWS_REGION
-
Untuk menggunakan kredensil ini setiap saat, setel variabel env ke. AWS_PROFILE deadline-downloader
Ketika Anda tidak lagi membutuhkan pengguna IAM ini, kami sarankan Anda menghapusnya agar selaras dengan praktik terbaik AWS keamanan. Kami menyarankan Anda meminta pengguna manusia Anda untuk menggunakan kredensi sementara AWS IAM Identity Centersaat mengakses. AWS
Prasyarat
Selesaikan langkah-langkah berikut sebelum membuat pekerjaan cron atau tugas terjadwal untuk unduhan otomatis.
-
Jika Anda belum melakukannya, instal Python.
-
Instal CLI Batas Waktu dengan menjalankan:
python -m pip install deadline
-
Konfirmasikan versi CLI Batas Waktu adalah 0.52.1 atau lebih baru dengan perintah berikut.
$ deadline --version
deadline, version 0.52.1
Uji perintah unduhan output
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 \
--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 download Anda sama dengan mesin submitting. Ganti --storage-profile-id YOUR_PROFILE_ID \ di atas dengan--ignore-storage-profiles.
-
Kirim pekerjaan tes.
-
Unduh file.zip dari GitHub.
-
Buka deadline-cloud-samples GitHub repositori.
-
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 menyediakan yang berikut ini di baris perintah.
--farm-id YOUR-FARM-ID --queue-id YOUR-QUEUE-ID
-
Tunggu sampai pekerjaan selesai sebelum melanjutkan ke langkah berikutnya.
-
Jalankan perintah sync-output lagi.
/path/to/deadline queue sync-output \
--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 setiap 5 menit.
- Linux
-
-
Verifikasi Batas Waktu Instalasi CLI
Dapatkan jalur yang tepat ke tenggat waktu yang dapat dieksekusi:
$ which deadline
Perhatikan jalur ini (misalnya,/opt/homebrew/bin/deadline) untuk digunakan dalam file plist.
-
Buat Direktori Checkpoint
Buat direktori tempat file pos pemeriksaan 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 pekerjaan yang ada:
$ crontab -l
-
Edit Crontab
Buka file crontab Anda untuk diedit:
$ crontab -e
Jika ini adalah pertama kalinya Anda, Anda mungkin diminta untuk memilih editor (nano, vim, dll.).
-
Tambahkan Entri Cron Job
Tambahkan baris berikut untuk menjalankan pekerjaan setiap 5 menit (ganti jalur dengan nilai aktual dari langkah 1 dan 2):
*/5 * * * * AWS_PROFILE=deadline-downloader /path/to/deadline queue sync-output --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 Cron Job
Setelah menyimpan dan keluar dari editor, verifikasi pekerjaan cron telah 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, mulailah:
$ sudo systemctl start cron
$ sudo systemctl enable cron # Enable auto-start on boot
- macOS
-
-
Verifikasi Batas Waktu Instalasi CLI
Dapatkan jalur yang tepat ke tenggat waktu yang dapat dieksekusi:
$ which deadline
Perhatikan jalur ini (misalnya,/opt/homebrew/bin/deadline) untuk digunakan dalam file plist.
-
Buat Direktori Pos Pemeriksaan dan Direktori Log
Buat direktori tempat file pos pemeriksaan 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 sebenarnya 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>--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>EnvironmentVariables</key>
<dict>
<key>AWS_PROFILE</key>
<string>deadline-downloader</string>
</dict>
<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 pengunduhan Anda sama dengan mesin pengirim.
-
Validasi File Plist
Validasi sintaks XMLdari file plist Anda:
$ plutil -lint ~/Library/LaunchAgents/com.user.deadlinesync.plist
Ini akan mengembalikan “OK” jika file tersebut valid.
-
Periksa Agen Peluncuran yang Ada atau Luncurkan Daemon
Periksa apakah agen peluncuran sudah dimuat:
$ launchctl list | grep deadlinesync
OR
$ sudo launchctl list | grep deadlinesync
Jika ada, bongkar terlebih dahulu:
$ 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 file 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 ini:
$ 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 berikut ini 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 keadaan 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 Windowsdokumentasi resmi.
Untuk semua langkah di bawah ini gunakan Command Prompt - jalankan sebagai Administrator:
-
Verifikasi Batas Waktu Instalasi 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 pos pemeriksaan 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 --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 File Batch
Uji file batch secara manual:
C:\> .\path\to\deadline_sync.bat
Periksa file log yang dibuat:
C:\> notepad path\to\logs\deadline_sync.log
-
Periksa Layanan Penjadwal Tugas
Pastikan layanan Penjadwal Tugas berjalan:
C:\> sc query "Schedule"
Jika layanan tidak ada, coba nama alternatif:
C:\> sc query "TaskScheduler"
C:\> sc query "Task Scheduler"
Jika tidak berjalan, mulailah:
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
Kerusakan perintah:
-
Verifikasi Pembuatan Tugas
Periksa apakah tugas berhasil dibuat:
schtasks /query /tn "DeadlineOutputSync" /v /fo LIST
Cari:
-
Eksekusi Tugas Uji
Jalankan tugas secara manual untuk menguji:
schtasks /run /tn "DeadlineOutputSync"
Periksa status tugas:
schtasks /query /tn "DeadlineOutputSync"
Verifikasi pengaturan
Untuk memverifikasi bahwa pengaturan 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 dikaitkan dengan profil penyimpanan yang hilang atau salah konfigurasi.
-
Lihat Profil penyimpanan untuk informasi tentang cara mengatur profil penyimpanan Anda ketika mesin pengunduhan 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 - saat tidak berjalan saat ini, 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'
-
Paksa menjalankan agen peluncuran untuk pengujian segera:
$ sudo launchctl kickstart gui/$(id -u)/com.user.deadlinesync
Ini segera memicu pekerjaan terlepas dari jadwal, 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 terjadwal Anda:
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