All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ru.taskurotta.recipes.delayed.TaskCreator Maven / Gradle / Ivy

package ru.taskurotta.recipes.delayed;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import ru.taskurotta.client.ClientServiceManager;
import ru.taskurotta.client.DeciderClientProvider;
import ru.taskurotta.core.TaskConfig;

/**
 * Created by void 09.07.13 19:35
 */
public class TaskCreator implements ApplicationListener {
    private final static Logger log = LoggerFactory.getLogger(TaskCreator.class);

    private ClientServiceManager clientServiceManager;

    private int count;


    public void createStartTask(MultiplierDeciderClient deciderClient) {
        log.info("warming up task launcher...");
        long startTime = System.currentTimeMillis() + 1200000;
        TaskConfig taskConfig = new TaskConfig();
        for (int i = 0; i < count; i++) {
            for (int j = 0; j < 1000; j++) {
                int a = (int) (Math.random() * 100);
                int b = (int) (Math.random() * 100);
                taskConfig.setStartTime(startTime);
                deciderClient.multiply(a, b, taskConfig);
            }
            startTime += 1000;
        }
    }

    public void setClientServiceManager(ClientServiceManager clientServiceManager) {
        this.clientServiceManager = clientServiceManager;
    }

    public void setCount(int count) {
        this.count = count;
    }

    @Override
    public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
        DeciderClientProvider clientProvider = clientServiceManager.getDeciderClientProvider();
        MultiplierDeciderClient deciderClient = clientProvider.getDeciderClient(MultiplierDeciderClient.class);

        createStartTask(deciderClient);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy