0

我的问题是,当我以表格形式发布 csv 文件时,我的流程操作正在执行,但在完成执行之前(需要逐行检查并做一些事情),新的执行开始了。

我检查了 Chrome 控制台,似乎当它花费了 30 多秒时,导航器会重新加载自身并开始新的操作。

知道如何增加超时或其他解决方案吗?

<aui:form name="importQuestions" action="<%=importQuestionsURL%>"  method="post" role="form">
    <aui:fieldset>
        <aui:field-wrapper label="editorquestions.importQuestions.csv" helpMessage="editorquestions.importQuestions.csv.help" >
                <aui:input inlineLabel="left" inlineField="true" name="fileName" label="" id="fileName" type="file" value="" >
                    <aui:validator name="acceptFiles">'csv'</aui:validator>
                </aui:input>
        </aui:field-wrapper>
    </aui:fieldset> 
    <aui:button-row>
        <aui:button type="submit" cssClass="btn btn-primary"></aui:button>
        <aui:button name="close" value="close"  type="button" onClick="<%=backToSearchQuestionURL%>"> </aui:button>
    </aui:button-row>
</aui:form>

在我的逻辑内部是一个循环......大约 550 行。

4

1 回答 1

0

您可以javascript.single.page.application.timeout在服务器的 portal-ext.properties 中增加:

#
# Set the timeout in milliseconds before SPA navigation times out and falls
# back to standard navigation.
#
javascript.single.page.application.timeout=60000

但是你应该只在你的开发环境中使用它作为一种解决方法。

对于长时间运行的后台任务,您应该考虑 Liferay 的 BackgroundTask 框架。看:

https://web.liferay.com/de/web/daniel.kocsis/blog/-/blogs/background-task-aka-the-secret-weapon-behind-the-new-asynchronous-staging

于 2016-12-14T21:04:36.303 回答