PRAJA awalnya adalah software yang saya tulis untuk mendukung penciptaan animasi pendek yang akan saya ciptakan. Nama tersebut berasal dari utak-atik deskripsi sebuah renderfarm, remote/distributed rendering manager, menjadi Pembantu Render Jarak Jauh. Seiring waktu, keinginan pribadi tersebut saya kesampingkan sementara, mendedikasikan pengembangan PRAJA secara total untuk Proyek Seruling. Deskripsi cara kerja PRAJA berikut didasarkan pada dokumen spesifikasi dan versi prototip (pra-rilis) software ini, dan dapat berubah sesuai pertimbangan teknis yang relevan.
Software pengelola renderfarm PRAJA terdiri atas dua komponen: mekanisme internal master/slave yang ditulis dalam bahasa pemrograman Python, dan antarmuka berwujud aplikasi-web yang ditulis dalam bahasa pemrograman Javascript. Kedua komponen tersebut terkait erat dengan sebagian besar komunikasi data dilakukan memakai teknologi Ajax, dalam format JSON. Berkat sifat Ajax yang asynchronous antarmuka PRAJA menjadi dinamis, dapat menampilkan kondisi renderfarm hampir secara realtime (perbaruan data setiap 10 detik), serta responsif seperti layaknya aplikasi desktop.
*pipeline PRAJA
Secara internal, komunikasi master/slave dilakukan melalui dua kanal: satu kanal data --memakai protokol TCP-- digunakan untuk transfer file .blend, frame hasil render dan script render job, dan satu kanal sinyal --memakai protokol UDP-- untuk menyampaikan perintah dan laporan status masing-masing node renderfarm. Informasi render job didistribusikan oleh master secara per-frame untuk memudahkan pelacakan progresi penyelesaian job. Info tersebut kemudian diubah oleh setiap slave menjadi script Python yang dikirimkan kepada Blender sebagai argumen baris perintah. Cara ini memungkinkan PRAJA mengakses berbagai aspek konfigurasi render, misalnya menentukan resolusi, format gambar output atau layer2 aktif, meski versi pra-rilis saat ini belum mengeksploitasi potensi tersebut secara maksimal.
Saat ini PRAJA masih dalam tahap pengembangan dan uji coba, disesuaikan dengan platform dan alur kerja yang digunakan oleh tim Proyek Seruling. Pada saat software ini cukup teruji, setiap baris kodenya saya ulas kembali, dan memiliki dokumentasi yang lengkap, PRAJA akan saya lepas pada publik di bawah lisensi GPL.
~Adhi Hargo