Skip to main content

Hello list,

I have the task to configure my fme 2018 server to provide

 

* a dedicated highspeed queue for fire department tasks

* a default queue for all the other work

 

The condition is that the highspeed tasks have to run "immediately" and should never be blocked/delayed/slowed down by workspaces running in the default queue.

 

Is it correct to create two different server queues with separate engines and do the job assignment through different repositories for a) the fire department's workspaces and b) the rest of the pack, or are there other/better mechanisms available. Especially I am interested in the job priority parameter that I can assign to the queues.

 

Best regards - Markus

 

 

I would set up two queues, a fire department one with a priority of 1 (highest) and a default one with the default priority of 5. Assign the fire department queue to all engines and the default queue to one engine (if you only have two available).

This will guarantee that fire department jobs will always have at least one engine available but they will also get priority status on other engines if that one engine is busy.


Thanks @gazza, I will try that.


I would set up two queues, a fire department one with a priority of 1 (highest) and a default one with the default priority of 5. Assign the fire department queue to all engines and the default queue to one engine (if you only have two available).

This will guarantee that fire department jobs will always have at least one engine available but they will also get priority status on other engines if that one engine is busy.

I'd like to add to this that while this does give you the highest degree of availability for the fire department tasks there is still a potential for delay. FME Server will not cancel a running job if a high priority one comes in. So if engine1 is processing a fire department job and engine2 is busy with a general job a new fire department job that comes in will be queued until either one of the engines is freed up. It depends on how long your average job takes whether or not this will be a problem.


I'd like to add to this that while this does give you the highest degree of availability for the fire department tasks there is still a potential for delay. FME Server will not cancel a running job if a high priority one comes in. So if engine1 is processing a fire department job and engine2 is busy with a general job a new fire department job that comes in will be queued until either one of the engines is freed up. It depends on how long your average job takes whether or not this will be a problem.

I agree with @redgeographics. If the maths of job run time vs expected maximum jobs submitted show that engine 2 is likely to be used then I would be looking at a second dedicated engine, or more. If that is not possible then you need to look at the maximum time that engine 2 will take on the default jobs and see if you can live with queuing for that long.

In theory you could use the FME Server API to monitor queues and kill any long running jobs from the default queue if needed.

Another option is the new burst licensing that is coming to FME Server. That should allow you to have one dedicated engine 24/7 and then if things get busy you can fire up additional engines and pay as you go until demand gets back to normal.


Reply