{{{#!comment = Configurable Job Server = == About the job server == A job server is is an application server used to take control the arriving requests. The concept is similar to the 'Readers-writers problem'. If a new request is arrived to the server, the type of the request has to be determined. It can be a modifier or a non-modifier. If a request modify the database, then it is called modifier, else it is called non-modifier. After the type of the request has been determined, the permission of the execution should be limited, as described below. A modifier can only be executed when nothing else is running. A non-modifier can only not be executed when a modifier is running. == How to restrict the enabled user-level operations? The blacklist is a list of denied operations. These operations can not be allowed to be run in any circumstances. The blacklist is loaded from a file, which is placed in ''data'' directory, is called ''ui_router_blacklist'' and is processed with ''file:consult'', during the initialization of the job server. A valid blacklist for example: {{{#!erlang [add, drop, reset, add_dir, drop_dir]. }}} If this blacklist is present, then nobody can add to / can delete anything from the database and noone can reset the database. }}}