package com.elab.core.async.pruducer;

import com.elab.core.async.RealTaskExecutor;
import com.elab.core.async.SchedulingTaskExecutor;
import com.elab.core.async.model.TaskStoreData;

/**
 * 消息生产者
 *
 * @author : liukx
 * @date : 2020/8/7 - 10:59
 */
public interface ITaskProducer {
    /**
     * 添加实时消息
     *
     * @param taskExecutor
     */
    public void sendRealTimeQueue(RealTaskExecutor taskExecutor);

    /**
     * 发送异步实时消息
     *
     * @param taskExecutor
     * @param taskStoreData
     */
    public void sendRealTimeQueue(RealTaskExecutor taskExecutor, TaskStoreData taskStoreData);


    /**
     * 发送异步调度消息
     *
     * @param schedulingTaskExecutor
     */
    public void sendSchedulingList(SchedulingTaskExecutor schedulingTaskExecutor);


}
