2
votes

I have been looking at using projects built using spring-cloud-task within spring-cloud-dataflow. Having looked at the example projects and the documentation, the indication seems to be that tasks are launched manually through the dashboard or the shell. Does spring-cloud-dataflow provide any way of scheduling task definitions so that they can run for example on a cron schedule? I.e. Can you create a spring-cloud-task app which itself has no knowledge of a schedule, but deploy it to the dataflow server and configure the scheduling there?

Among the posts and blogs I have looked at I noticed the following:

https://spring.io/blog/2016/01/27/introducing-spring-cloud-task

Some of the Q&A afterwards hints at this being a possibility, with the reference to triggers, but I think this was discussed before it was released.

Any advice would be greatly appreciated, many thanks.

2

2 Answers

2
votes

There are few ways you could launch Tasks in Spring Cloud Data Flow. Following are the available options today.

  • Launch it using TriggerTask; with this you could either choose to launch it with fixedDelay or via a cron expression - example here.
  • Launch it via an event in streaming pipeline. Imagine a use-case where you would want to create a "thumbnail" as and when there's a new image (event) in s3-bucket or in a file-system directory; the "thumbnail" operation could be a task in this case - example here.

Lastly, in the upcoming releases, we will port over "scheduler" functionality from Spring XD to Spring Cloud Data Flow.

0
votes

Yes, Spring Cloud Data Flow does provide a scheduling option. To enable it, you need to add below arguments while starting the server:

--spring.cloud.dataflow.features.schedules-enabled=true