Extending Compute.geometry with custom endpoint without rhino.compute

@AndyPayne

I was able to extend the compute.geometry project to make custom code available. There are few questions -

  1. Why am I able to build and run the compute.geometry without rhino.compute and still be able to calculate the geometry.
  2. how do I add idle span limit in this case when rhino.compute is not being built in the solution.

Lookiing forward to hearing from you.
Arjun Sharma

The compute.geometry project is the main “workhorse” of the project. This is the project which handles all of the geometric computations. The rhino.compute project is a top-level project which mainly handles request authentication (ie. API key validation) and spinning up the child processes (ie. compute.geometry).
It’s possible to just run the compute.geometry project (although it’s not recommended) and still get valid results. The reason it’s not recommended is that it’s not setup to handle parallel requests. In addition, if compute.geometry crashes, then rhino.compute will handle spinning a new instance back up… but if you aren’t running that, then there’s no redundancy there.
It is possible to pass in an idle span value to the compute.geometry startup parameters, but honestly it won’t help you. That value is used in tandem with rhino.compute in order to get rhino.compute to shut down the compute.geometry process. If you’re just running compute.geometry, it won’t necessarily shut itself down when the idlespan value is met.
Is there a reason you can’t use the rhino.compute process? It should start the compute.geometry processes for you so you get the best of both worlds.

@AndyPayne Sorry for leaving this thread hanging.

I am running this code on a virtual machine and building it with Docker. I am facing challenges with memory available for running the computations. so instead of running multiple projects, for now, I will run one project at a time. the thought was if I am really not parallelising do I really need rhino.compute? (i got my answer) .

if i set the “childcount” to 1 or 2 instead of default which is 4, what happens to the requests sent in quick succession. do they wait till the previous process is finished. and then get triggered or will they get dropped?

once my calculations are done, can I force the compute.geometry.exe to end the process so that I can freeup some memory? what are its implications on core hour billing? on Mcneel Side do i get billed till the end of the “idlespan” session or does the core hour billing counter stop immediately?

Regards
Arjun