我正在执行一个大约 180 秒的长进程 WPS,当它在 60 秒后开始时,WPS(响应)被放弃,进程继续运行直到结束(检查日志文件)。
我尝试了 Pywps wiki 提出的减少 Apache 服务器超时的解决方案(http://wiki.rsg.pml.ac.uk/pywps/Async_issue),但没有成功!
我发现响应似乎是唯一的问题: http: //lists.wald.intevation.org/pipermail/pywps-devel/2013-April/001598.html但我没有找到如何插入我的“电话通过 self.cmd(“process.sh ...)处理”。
这种雕像检查也不会返回文字输出!:
任何帮助将不胜感激。
这是 wps 示例:
from pywps.Process.Process import WPSProcess
import time
import sys
from datetime import datetime
start=datetime.now()
class Process(WPSProcess):
    def __init__(self):
        # initialisation process
        WPSProcess.__init__(self,
            identifier="timeout_test",      
            title="timeout test",
            version = "1.0", 
            storeSupported = True,
            statusSupported = True,
            abstract="Ce WPS permet de tester les long processes")
    # Total sleep time
            self.delay = self.addLiteralInput(identifier = "delay",
            title = "Time delay in seconds.",
            abstract = "Field of type INTEGER specifying a time delay in seconds.",
            type = type(1.0),       
            default = 180)
输出
    self.num = self.addLiteralOutput(identifier="num",
                                     title="A sample literal output.")
执行
def execute(self):
    # Time sleep
    self.status.set("getting ready", 1)
    self.num.setValue(0)
    sys.stdout.flush()
    step = self.delay.getValue()/6
    for i in range(6):
        self.status.set("Processing...", i*10)
        sys.stdout.flush()
        time.sleep(step)
    self.status.set("Finishing", 100)
    self.num.setValue("Temps du traitement : " + str(datetime.now()-start)+"\n")
    return