AWS Thinkbox Discussion Forums

Badstatusline error when connecting to pulse server from worker

When I expect the following code to give me an answer instead
it throws BadStatusline error.

from DeadlineConnect import DeadlineCon as con
data = con(‘192.168.x.x’, xxxxx)
data.Groups.GetGroupsNames()

Finally what i need is to get worker machines having idle status.
data returns a python object but GetGroupsNames() throws error.

How do one ensure that pulse is communicating properly with DB server ?

I’m curious why you want to use the Standalone API from the workers, instead of the regular Scripting API, which is automatically available on workers.

How to get list of all idle worker machines with scripting api ?

Sorry for late reply

I guess it is: Deadline Scripting Reference: Deadline.Scripting.RepositoryUtils Class Reference
Use RepositoryUtils.GetSlaveInfos() to get all slaves and filter them by status.
I also thought there was a function for querying machines by state, but could not find it.

I am starting from scratch with no help from anybody ( lets say ) . Where will I find RepositoryUtils module.

How does deadline-stubs help ?

In order to execute a script in a Deadline context, run it with (say on Windows)
"c:/Program Files/Thinkbox/Deadline10/bin/deadlinecommand.exe" -ExecuteScript youscript.py
The yourscript.py will have all deadline libraries available for import by virtue of running inside Deadline’s python.

The other way to access the Deadline libraries is if you are writing a render plugin, which is also going to run in that context.

The stubs I believe are just for IDE autocomplete and such, it does not contain the actual source. The libraries are compiled into dpython.

It depends on the use case though - for small scripts that you can run to control deadline from your machine, Standalone API (the one you used) should be fine.
You did not show what error it threw while connecting to the Pulse.

cmiiaw,
To connect to pulse one has to use DeadlineConnect module. Correct. If that is true then i get BadStatusline error. Same is observed here , Connect to pulse

Herein , it is suggested to install web service to run pulse. Correct ?

Further, this document using web service , says, to run web service just run C:\ Program Files\thinkbox\Deadline10\bin\deadlinewebservice.exe

This i presume will run web service on my machine acting as a server for “web service”. Correct ?

This gives me error

Web Service - Warning. Web Service could not connect.
Web Service - Error Message: ACcess is denied.
Web Service - …
Web Service - The web service could not connect because access was denied by the system. This is because the application was not able to reserve namespaces for the URL connection. To enable the web service you must get an administrator to add namespace reservation for the current user.

I will test with deadlinecommand -ExecuteScript script.py, and get back with results.
if deadline libraries are used, then the design of code is scalable. Correct ?

Does running “start pulse” on any machine that has deadline installed make it act as a server ? Perhaps temporarily

For the standalone api, indeed you can import it by adding <repo>/api/python to the path.
This api works by connecting to the web service.

The error you get states exactly what is wrong - you do not have permissions to enable the web service. So do it as admin if you’re on Windows. Once this is running, you should be able to connect to it - your initial code should work I think.

The first error from your script is because it could not connect to the web service.

Btw maybe you know this, but here is the Standalone API documentation: Standalone Python API — Deadline 10.1.20.3 documentation

The standalone api is meant to be used outside of Deadline context, and it works through the web service REST api.
The scripting api, in contrast, works inside Deadline, either runs code on workers or on the repository.
The web service and pulse are separate components, though I’m not too clear on how they are run by deadline services. I guess launcher can be configured to run any of them automatically.

To use the web service, and have the URL reservation created for you run the Client Installer again and choose ‘Web Service’ when you’re prompted with what you’d like to install.

Error that this article author preempted is solved but i ( mean IT ) am getting another error. See image

“Valid repository not installed at this location…”. repository has been installed on another server. Does it mean one needs to run deadlinewebservice command from the location where repository is installed, only. Not from any other location ?

deadlinewebserver can be called from any client/worker, it is in Deadline’s bin directory.

That error means that the web service executable wasn’t able to find \\dlmaster\Deadline. Is that path correct, and readable by the user running the web service?

Correct. For this to run well NETWORK_ROOT:\repository\path should be present in deadline.ini file which is found in %PROGRAMDATA%\Thinkbox\Deadline[VERSION]\deadline.ini

In case it is not found, does it help to create one manually. ?. Let me try this out first.

In back of mind question remains. What precautions should one take
of any kind to ensure the deadline server and jobs do not get affected by any such changes. Of course this change is only to one client. But in bigger picture of things
any don’ts that ensure everything on deadline continues to run smoothly.

Thank you

Thank you @mois.moshev and @Justin_B , now deadlinewebservice is alive on my system. Issue was still IT related :slightly_smiling_face:,

Working in studio setup, not online, has this advantage. Issues get sorted faster.

:+1:

I did mention PROGRAMDATA on top but was not referring to it. my bad.

1 Like
Privacy | Site terms | Cookie preferences