emcodem wrote: ↑Sat Oct 08, 2022 9:16 am
we need @admin here.
He's on vacation (or "was" since it's the end of the week
), let's let him enjoy a bit of spare time xD
emcodem wrote: ↑Sat Oct 08, 2022 9:16 am
Sure it is like @FranceBB says (ffmpeg prio should follow workflow prio) but there are exceptions like manual submits override the priority and set it to high.
Yep, I double checked (it took me a bit of time 'cause I'm always on my messy branch xD) and the last publicly available version does indeed follow the workflow priority (as it should), so no bug at all.
no_connection wrote: ↑Sat Oct 08, 2022 10:14 am
@emcodem You are correct, I was manually submitting the files, which would explain the high priority then.
Yes, priorities go from 0 to 4 where 4 is the highest you can get, however this applies only to stuff like watchfolders.
IF you open the workflow manager and you submit a job manually, then it goes with a "hidden" level 5 priority.
This again is normal behavior and it's expected to work like this 'cause if you're "bold enough" to get into the Workflow Manager yourself and start a job manually, it means that either you want to test something or that you're really really really in a rush, hence the top priority above everything else. This is expected 'cause we decided the behavior long time ago together with Grandmaster 'cause if a user manually submits something it means that he wants the result immediately, so it's normal that FFAStrans takes the job and executes it immediately. So... yeah, that's why you were still seeing ffmpeg.exe with the highest priority in Windows too.
no_connection wrote: ↑Sat Oct 08, 2022 10:14 am
Which is bad in this case.
The only reason to set anything above normal in my opinion is video player and OBS and those type of real time applications that would stutter if they where not getting resources when needed right away instead of waiting.
I would argue that an application that intends to use 100% CPU like ffmpeg don't benefit at all by being set to more than low, yes maybe 1-10% if the resource it could fight back for at the expense of everything else.
Well, first things first, most of our users work in companies and have dedicated servers to run those kind of tasks. This means that they run on servers and not workstations or consumer laptop, which also means that whenever a standalone FFAStrans or indeed a farm takes a job, its only "duty" is to carry that job to the end without doing anything else in the background. So... nope, servers won't be recording stuff with OBS Studio, browsing the web with Chrome or anything else as they're... well... servers xD
Now, on to the priority stuff and why it matters for processes.
I feel partially responsible for this 'cause when it came to decide what to do, we decided this together with Grandmaster and it was actually something I wanted and tested and it's something that I use on a daily basis, especially since we launched our remastering of old tapes in 2020.
You see, companies might have huge farms with plenty of servers running all sorts of different kind of encodes. There are things with short turnaround (like for instance football highlights etc that need to be encoded and published) and other things that can wait a bit longer like normal contribution encodes for the productions or stuff that you have to encode for air-time in like 2-3 weeks time like movies etc and also stuff you may wanna run in the background using as little as possible like Remastering of old BetaCAM tapes, 1 inch Type C, U-Matic, you name it. If that's the case, simply setting the priority in the workflow manager will solve headaches 'cause not only it will assign different priorities to different tasks so that the tickets will be picked up and the jobs will be executed only if there are enough slots available so that stuff like priority 3 will go ahead of priority 1 jobs etc BUT (and bear with me on this) if you have like a priority 4 job that needs to be run and you have a priority 0 job that is already going, the exe_manager will PAUSE the priority 0 job, make the highest priority 4 job go through and finish and then UNPAUSE the priority 0 job which will slowly but surely reach the end. The way we do this ain't black magic, however is complicated and it does involve messing with Windows process priorities, so... there's a reason behind all this.
Anyway, this is to say that I'm not ignoring you and I'm not giving you a "hard no", on the contrary, I agree with emcodem and we will bring this up to Grandmaster, but keep in mind that we developed things this way 'cause there was a reason and it seemed to be working for lots of our user base, but yeah, we're open to new use-cases, after all, it's thanks to our users like you who bring new ways of doing things if this program has got better and better, so I'm happy to bring this to Steinar and we'll see what Grandmaster says when he comes back.