Une fois votre renderfarm créée (comment faire) il est nécessaire de piloter vos ordinateurs clients afin d'ouvrir et/ou fermer les applications dont vous avez besoin. Par exemple le Vray Render Slave pour faire du rendu distribué avec Vray ou les Renders d'Afanasy pour les calculs de vos séquences d'images, ou simplement allumer et/ou éteindre vos clients. Ces opérations sont fréquentes et peuvent se révéler fastidieuses, surtout si vous avez beaucoup de clients.
Pour gagner en productivité j'ai donc développé un petit logiciel (script python) pour m'aider à automatiser ces taches simples et ainsi gagner en temps pour déployer ma renderfarm quand j'en ai besoin. Je l'ai nommé RNM pour Render Node Manager et vous pouvez le télécharger librement et l'utiliser et/ou modifier son contenu pour l'adapter à vos besoins spécifiques.
A quoi ça sert :
- Ouvrir et fermer les applications Afanasy : server, renders, afwatch dailies, keeper.
- Contrôler vos clients à distance par partage de bureau à l'aide du logiciel Anydesk (free).
- Allumer et éteindre vos clients à l'aide du logiciel WakeOnLan (open source).
- Ouvrir et fermer directement vos applications clients à l'aide des outils PsTools (free).
A quoi ça ressemble :
A l'origine j’exécutais ces commandes par une série de fichiers .bat, et au vu leur nombre grandissant j'ai décidé de les réunir sous forme d'une grille de boutons à l'aide du module Tkinter de Python. Pour info je ne suis pas programmeur mais j'aime bien faire des copier-coller, donc si vous êtes de la partie et que vous voyez des aberrations surtout n'hésitez pas à me les signaler. Sinon j'utilise ce script depuis maintenant plusieurs mois sans problèmes donc tout devrait bien se passer.
Comment l'installer :
Il vous faut télécharger cette archive puis la décompresser avec 7zip (ou autre) et déposer directement le dossier RNM à la racine de votre Workstation (C:\RNM). Voila c'est installé !
Dedans il y a :
- le dossier des icones avec le fichier Photoshop pour les modifier si besoin.
- un fichier read_me.txt pour pas vous perdre.
- le script python RNM.pyw à exécuter pour obtenir l'interface.
- et le fichier RNMconfig.cfg pour configurer le nombre de clients et les accès réseau.
Pour utiliser le script il vous faut d’abord :
- installer Python 3 sur votre Workstation.
- installer Afanasy sur votre Renderfarm (pour vous aider).
- installer PsTools à la racine de votre Workstation (à coté du dossier RNM).
- installer Anydesk sur chaque clients.
- installer WakeOnLan sur votre workstation.
Dernière étape, configurer RNM :
Utilisez Notepad++ ou n'importe quel autre éditeur de texte pour modifier le fichier RNMconfig.cfg. Ce fichier sert à mémoriser :
1. la position de RNM sur votre desktop Windows.
Pas la peine de modifier ces valeurs. Cette config sert seulement à retenir la position de la fenêtre RNM à sa fermeture pour réapparaitre ensuite au mème endroit.
2. les chemins des applications utilisées (RNM, Afanasy, WakeOnLan, Anydesk, Vray ...).
Par défault RNM est configuré pour fonctionner avec Afanasy et Vray pour Maya mais vous pouvez l'adapter à vos besoins propres. En effet RNM utilise les outils PsTools pour lancer et éteindre les applications à distance sur les clients. Il vous suffit donc de remplacer les chemins des applications qui vous concernent ainsi que les icônes associées si besoin. Pour cela vous trouverez dans le dossier C:/RNM/icons le fichier Photoshop qui m'a servi à faire les miennes et vous aidera à créer les votre. Attention cependant si vous renommez ces icônes il vous faudra également éditer pour mettre à jour le fichier RNM.pyw.
3. le nombre de clients.
Indiquez le nombre d'ordinateurs clients que vous possédez. l'interface RNM s'adaptera à leur nombre. Vous pouvez en avoir autant que vous souhaitez, la limite est votre desktop.
4. vos identifiants et mots de passes des comptes utilisateurs de vos clients et workstation pour les accès réseau.
Ce n'est clairement pas la solution idéale. En attendant de trouver mieux sachez que les outils psTools encryptent ces données sur le réseau. Remplissez les " ... " avec vos données propres, Workstation et Clients. Par défaut il y en a 6, ajoutez autant de champ [Node#] que vous avez de clients.
Comment s'en servir (dans le sens de lecture):
Ouvre l'afstarter d'Afanasy pour lancer vos jobs
Contrôles de la Workstation :
- ouvre le gestionnaire des tâches Windows
- lance l'afWatch
- lance l'afserver
- éteint l'afserver
- lance l'afrender
- éteint l'afrender
- lance Make Movie
- lance Keeper
Contrôles des clients :
Au démarrage RNM scannne le réseau pour vérifier si vos clients sont allumés ou non et répète cette opération chaque minute.- exécute "psList.exe" (affiche les processus client)
- contrôle bureau à distance avec Anydesk
- lance Vray Render Slave
- éteint Vray Render Slave
- lance Afanasy Render
- éteint Afanasy Render
- allume l'ordinateur client
- éteint l'ordinateur client
Contrôles Renderfarm
(sur tous les clients, workstation non inclus) :- Ping accessibilité réseau des clients
- lance Anydesk sur chaque clients (au cas où il ne serait pas allumé par défaut)
- lance les Vray Render Slaves
- éteint les Vray Render Slaves
- lance les Render Afanasy
- éteint les Render Afanasy
- allume la renderfarm
- éteint la renderfarm
- ouvre le dossier partagé
- copier un dossier sur tous les clients (allumés)
- copier des fichiers sur tous les clients (allumés)
- supprimer un dossier sur tous les clients (doit exister sur la workstation)
- supprimer des fichiers sur tous les clients (doivent exister sur la workstation)
- supprimer dossier temporaire (situé dans le dossier partagé, sert à copier)
- ouvre le dossier Afanasy
- ouvre le fichier config de RNM dans bloc note
Et voila !
Profitez bien et n'hésitez pas à me faire vos retours si vous en avez l'usage.
JR
creature-studio
truc de fou, cela fait plusieurs mois que je cherche un moyen faire faire des rendus multi machine sur after effects ( celui intégré est merdique . j'avoue chapeau et grand merci de partager ton expérience. Il me tarde de tester ça en tout cas. Merci l'ami :)
RépondreSupprimerAvec plaisir! J'espère qu'il te sera utile. Je viens d'uploader un petit update si besoin. Rien d'énorme : on peut maintenant copier/coller des fichiers depuis sa workstation sur tous les clients en un clic. Pratique pour certains scripts et plugins d'After ;)
Supprimer