Spooler¶
-
class
uwsgiconf.options.spooler.
Spooler
(*args, **kwargs)¶ Spooler.
Note
Supported on: Perl, Python, Ruby.
Note
Be sure the
spooler
plugin is loaded in your instance, but generally it is built in by default.The Spooler is a queue manager built into uWSGI that works like a printing/mail system. You can enqueue massive sending of emails, image processing, video encoding, etc. and let the spooler do the hard work in background while your users get their requests served by normal workers.
http://uwsgi-docs.readthedocs.io/en/latest/Spooler.html
-
set_basic_params
(*, touch_reload: Union[str, List[str]] = None, quiet: bool = None, process_count: int = None, max_tasks: int = None, order_tasks: int = None, harakiri: int = None, change_dir: str = None, poll_interval: int = None, signal_as_task: bool = None, cheap: bool = None, base_dir: str = None)¶ Parameters: - touch_reload – reload spoolers if the specified file is modified/touched
- quiet – Do not log spooler related messages.
- process_count – Set the number of processes for spoolers.
- max_tasks – Set the maximum number of tasks to run before recycling a spooler (to help alleviate memory leaks).
- order_tasks – Try to order the execution of spooler tasks (uses scandir instead of readdir).
- harakiri – Set harakiri timeout for spooler tasks.
- change_dir – chdir() to specified directory before each spooler task.
- poll_interval – Spooler poll frequency in seconds. Default: 30.
- signal_as_task – Treat signal events as tasks in spooler.
To be used with
spooler-max-tasks
. If enabled spooler will treat signal events as task. Run signal handler will also increase the spooler task count. - cheap – Use spooler cheap mode.
- base_dir – Base directory to prepend to work_dir argument of .add().
-
add
(work_dir: Union[str, List[str]], *, external: bool = False)¶ Run a spooler on the specified directory.
Parameters: - work_dir –
Spooler working directory path or it’s name if base_dir argument of spooler.set_basic_params() is set.
Note
Placeholders can be used to build paths, e.g.: {project_runtime_dir}/spool/ See
Section.project_name
andSection.runtime_dir
. - external – map spoolers requests to a spooler directory managed by an external instance
- work_dir –
-