Skip to content

maga/jobs_scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jobs_scheduler

Run the scheduler: ruby -I lib bin/jobs_scheduler.rb "a=>b\nb=>"

Used Libraries: http://ruby-doc.org/stdlib-2.1.2/libdoc/tsort/rdoc/TSort.html

Imagine we have a list of jobs, each represented by a character. Because certain jobs must be done before others, a job may have a dependency on another job. For example, a may depend on b, meaning the final sequence of jobs should place b before a. If a has no dependency, the position of a in the final sequence does not matter. Given you’re passed an empty string (no jobs), the result should be an empty sequence. Given the following job structure: a => The result should be a sequence consisting of a single job a. Given the following job structure: a => b => c => The result should be a sequence containing all three jobs abc in no significant order. Given the following job structure: a => b => c c => The result should be a sequence that positions c before b, containing all three jobs abc. Given the following job structure: a => b => c c => f d => a e => b f => The result should be a sequence that positions f before c, c before b, b before e and a before d containing all six jobs abcdef. Given the following job structure: a => b => c => c The result should be an error stating that jobs can’t depend on themselves. Given the following job structure: a => b => c c => f d => a e => f => b The result should be an error stating that jobs can’t have circular dependencies.

Please do not use a database!

About

Orders a job list presented as string

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages