task-launcher-cloudfoundry几次启动任务后,应用程序都会从​​内存中移出磁盘

时间:2018-12-21 03:06:59

标签: spring-cloud-dataflow spring-cloud-task

我每20分钟使用触发任务启动一个任务| PCF中的task-launcher-cloudfoundry。 task-launcher-cloudfoundry通常会下载触发任务提供的任务jar,并保存在temp文件夹中,例如

``` 将[https://appregister-acp.pre.ptlapps.com/UTVINSummary_Task-1.0.0-SNAPSHOT.jar]下载到/ home / vcap / tmp / spring-cloud-deployer4679647774227645681 / b955e68a620b6feba7e9ebf6970788b16c6fbec0

So every time triggertask send task information based on it interval setting to task-launcher-cloudfoundry then task jar get downloaded to temp location of this app which leads to using up of allocated disk memory completely and leads to errors like 2018-12-20T18:00:16.867-05:00 [APP / PROC / WEB / 0] [OUT] org.springframework.messaging.MessageHandlingException:嵌套的异常是Reactor.core.Exceptions $ ReactiveException:java.nio.file。 FileSystemException:/ home / vcap / tmp / spring-cloud-deployer7629046795282951794:超出磁盘配额 ``` 最后几次触发后[根据triggertask的时间表]任务就不会启动

流定义: stream create testTrigger10 --definition "triggertask --uri=https://app123s.com/abc.jar --triggertask.application-name='kk_test_518PM' --trigger.fixed-delay=1500 --triggertask.environment-properties='spring.cloud.task.name=Task_temp' | task-launcher-cloudfoundry --maven.remote-repositories.repo1.url=https://repo.spring.io/libs-snapshot --spring.cloud.deployer.cloudfoundry.url=ABC.com --spring.cloud.deployer.cloudfoundry.org=SCDF-acceptance --spring.cloud.deployer.cloudfoundry.space=scdf-acp-space --spring.cloud.deployer.cloudfoundry.taskTimeout=1000" --deploy

task-launcher-cloudfoundry应用程序规范:1GB磁盘空间,1 GB内存

因此应用程序经过7次迭代后将达到1GB磁盘空间。即使我也将磁盘空间增加到2GB,也有可能在tasktrigger进行一些触发调用后再次遇到此问题。

启动任务后如何清理下载的任务jar?有没有可用的参数来清理磁盘空间?

注意:task-launcher-cloudfoundry应用程序未处于崩溃状态。它将带有抛出异常的运行状态。

全栈错误:

https://github.com/spring-cloud/spring-cloud-dataflow/issues/2713

1 个答案:

答案 0 :(得分:0)

同一问题在此处发布,也作为GitHub问题发布。

GitHub问题中描述了四个不同的选项。有关更多详细信息,请参见spring-cloud/spring-cloud-dataflow/issues/2713#issuecomment-449986585