Jump to content
ikoon

HQueue Cannot find file (but "manually" hython finds it)

Recommended Posts

Hello, I reinstalled my little farm and I have the issue, as attached:

- HQueue ERROR: Cannot find file ...
- but I have tried to manually run hython and load the file ... and from the command line tools everything works fine
- I turned off the firewall and restarted the HQueueClient service.

I have no other ideas. Please, where might be the problem?

hqueue.PNG

Share this post


Link to post
Share on other sites

Hey ikoon,

unfortunately, I m just gonna leave a +1 here since I encounter the same problem right now.

I get the same error log and when I copy the path and paste it into the explorer on the client it opens the file.

No idea what the cause could be besides something to do with Windows path mapping not being natively with forward slashes :/

Did you ever figure it out?

Cheers,

Dziga

Share this post


Link to post
Share on other sites

In case someone comes across this thread finding themselves lost in one HQeue issue after another, here is a quick list of problems I came across (as a google help or contact me if you need assistance):

 

1. Manually create inbound and outbound rules for ports 5000 and 5001 in your Windows Firewall to enable communication between server and clients (on all machines).

2. Use the IP address to connect the client to server to avoid possible name resolving issues in your network.

3. Even after changing the "Log On" account for the HClient windows service it was not able to see my network mount. I instead used this inside the hqserver.ini

hqserver.sharedNetwork.path.windows = \\XXX\SHARE
hqserver.sharedNetwork.mount.windows = \\XXX\SHARE

4. Don't forget to set your target HFS inside the HQ ROP to the installation path of Houdini (took me way too long to realize that I forgot to do this :D)

5. Imports in your HIP might have trouble to load (geo or textures read from your drive/mounted share), the same reason being the one behind point 3. To avoid this you can change those paths to your network share by using //XXX/share instead of using the drive letter.

You can get a python script going relatively easy to search and replace file paths in your hip, save the file as a copy/submission file and then submit to hqueue.

 

Hopefully this points anyone with similar issues in the right direction:)

  • Like 1

Share this post


Link to post
Share on other sites

Dziga thank you very much for your description.
Mine issue was due to improper installation. After reinstalling it went fine. Here are some details:

SESI recommends:
Please use UNC paths with Hqueue, never letter drives.

If you are still having problems after switching to UNC paths, please check if you can see the location on the windows file explorer. If yes, then the job failure is likely due to the HQueue Client not having access to that location. Check the HQueue Client service and verify that the service's Logon account is set to a Windows user account that has access to it. 


Personaly I have set it like this:
- on the Server, I don't share a folder but whole Q:\ drive
- on Clients, I map the Q:\ drive 
- so the $HQROOT paths are identical

On the server I don't use UNC paths. Accessing directly Q: on the server (without UNC) is much faster. Here is described why:
https://stackoverflow.com/questions/12903054/unc-path-pointing-to-local-directory-much-slower-than-local-access/12943869#12943869

It is not a solution for studios, but for me (Indie) I am really glad, that I have that extra speed. It is against the recommendation but so far it works fine.


Here is the usual process I do, step by step. I am no guru, so I hope that everything is as it should be:

Share Q: drive on the server machine:

5d26394879524_0shareQ.thumb.PNG.50a3bc346728695e8d6084b1b9e2c82f.PNG

Map Q: drive on the client machines:

5d263972b67d8_1mapQremote.thumb.PNG.c4b96e52b5aae61c5a392df67b3e7c51.PNG

Set firewalls on client and server machines:

5d263996388e6_2firewall.thumb.PNG.ffcf9a42ec48cfc9128d7da17e0018e0.PNG

Set service login on client machines:

5d263a6b986cf_3serviceloginsetup.thumb.PNG.612e8835a6591b23b820001e6b731e53.PNG

Service login set, it looks like this:

5d263abe4b3fe_4servicelogindone.thumb.PNG.9dd7f2c6dd7a159c1323c2885421b840.PNG

This is probably not necessary. If I remember correctly, I have read somewhere, that I should set local network addresses as an "intranet":

5d263b03773ef_5optionalintranetsettings.thumb.PNG.d619d5ef8cc6d7037c1e71759bfc385f.PNG

 

 

Share this post


Link to post
Share on other sites

Here are the contents of my .ini files:

C:\HQueueClient\hqnode.ini (on the client machines)

[main]
server = 192.168.1.200
port = 5000
sharedNetwork.mount = \\192.168.1.200\Q

[job_environment]

C:\HQueueServer\hqserver.ini (on the server machine)

#
# I did not paste whole file here on odforce, there are many lines before and after
#

[server:main]
use = egg:Paste#http
host = 192.168.1.200
port = 5000

[app:main]

# The shared network.
hqserver.sharedNetwork.host = 192.168.1.200
hqserver.sharedNetwork.path.linux = %(here)s/shared
hqserver.sharedNetwork.path.windows = Q
hqserver.sharedNetwork.path.macosx = %(here)s/HQShared
hqserver.sharedNetwork.mount.linux = /mnt/hq
hqserver.sharedNetwork.mount.windows = Q:
hqserver.sharedNetwork.mount.macosx = /Volumes/HQShared

# Server port number.
hqserver.port = 5000

#
# I did not paste whole file here on odforce, there are many lines before and after
#

 

Share this post


Link to post
Share on other sites

Here is how I submit the job. Here is the HQueue Simulation:

image.png.848f7ba3f92424a8c084f0b23c81ee47.png

 

HQueue Render is similar. Btw sometimes I want only a subset of clients. For example I have the commercial Redshift license only on one client machine, PC-A:

image.png.4cb4d087fa4b2bcbd52ca3c8f68aa557.png

 

Share this post


Link to post
Share on other sites

Well, I am just a self taught freelancer, so I hope that mine settings are correct. BTW it is recommended to use $JOB instead of $HIP.

@dzigakaiserI really think that the script, which replaces $HIP, is not necessary.

Share this post


Link to post
Share on other sites

Thanks for sharing your setup!:)

My script is only neccessary for file imports that come from outside the $HIP directory. And as I am saving a copy anyways, the copy might as well have the network share path.

Or at least, that was the quickest solution I could think of, since I am also in the same boat as you, being a self taught freelancer ^^

And about the script saving the extra copy, that's more of a personal preference.

I like to have the exact hip file the renderings came from untouched for debugging and clarity. By using the script I avoid accidentally submitting abc_v009.hip, then continue working in v009 and overwriting it.

Thanks for the pointer to use $JOB!

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×