Idea dump (sorry) #2762
Replies: 2 comments 2 replies
-
Hi @krazyjakee
|
Beta Was this translation helpful? Give feedback.
-
We do have some sort of prioritization in place already. To scan a location we have 3 Jobs: Indexer, File Identifier and Media Processor. Each one depends on the results of the previous one. Indexer will scan your file system and build the file tree in our database. File identifier will read partially each file to generate a unique identifier for each, namely a Each of these jobs are broken down into smaller tasks, these tasks are dispatched to a task system we have internally, which is a queuing system with multiple workers, each task can have priority or not. If a priority task reaches a worker, it will interrupt the processing of the current task if it is a non-priority one and start the priority task ASAP. Aside from this prioritization, the task system processes tasks in FIFO order. Each of the 3 jobs I mentioned already dispatches priority tasks for the root directory and non-priority for any descendants directories and files. Aside from these jobs, we already have "shallow versions" of these jobs, which doesn't use the job system, but also dispatches tasks. They only operate in the current open directory in the explorer, it doesn't go into any children directory. Tasks emitted by the shallow jobs are always with priority. To avoid conflicts, we only allow dispatch of shallow scan of a directory if there is no scan jobs running in that location to begin with. From what you explained, it seems to me that you were trying to scan many locations at same time and opened one of them. It's possible that the jobs for the location you opened were further down the tasks queue. As you had a scan pending for that location, you couldn't run the shallow jobs for the directory you opened. I have some ideas in mind on how to further increase the responsiveness of the tasks system. But I currently have some other priorities that I need to handle first. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
All reactions