Monday, 14 December 2020

Run springboot task from command line

 https://stackoverflow.com/questions/54338297/how-can-i-execute-a-command-line-task-for-a-spring-boot-application-like-a-rake


package com.example.tasks;

@Component
public class WeeklyReport implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
        Arrays.asList(args).stream().forEach(a -> System.out.println(a));
        if (!(args.length > 0 && args[0].equals("-task report:weekly"))) return;
        System.out.println("weekly report");
        System.exit(0);
    }

And running it from a 'cron' job with

$ mvn spring-boot:run -Drun.arguments="-task report:weekly"

No comments:

Post a Comment