Source code for pywps.processing
##################################################################
# Copyright 2018 Open Source Geospatial Foundation and others #
# licensed under MIT, Please consult LICENSE.txt for details #
##################################################################
import pywps.configuration as config
from pywps.processing.basic import MultiProcessing
from pywps.processing.scheduler import Scheduler
# api only
from pywps.processing.basic import Processing # noqa: F401
from pywps.processing.job import Job # noqa: F401
import logging
LOGGER = logging.getLogger("PYWPS")
MULTIPROCESSING = 'multiprocessing'
SCHEDULER = 'scheduler'
DEFAULT = MULTIPROCESSING
[docs]def Process(process, wps_request, wps_response):
"""
Factory method (looking like a class) to return the
configured processing class.
:return: instance of :class:`pywps.processing.Processing`
"""
mode = config.get_config_value("processing", "mode")
LOGGER.info("Processing mode: {}".format(mode))
if mode == SCHEDULER:
process = Scheduler(process, wps_request, wps_response)
else:
process = MultiProcessing(process, wps_request, wps_response)
return process