blob: 224bf393184421168d6ed2be19605c3e9a550871 [file] [log] [blame]
package org.apache.airavata.metascheduler.core.api;
import org.apache.airavata.model.process.ProcessModel;
import java.util.Optional;
/**
* Provides interfaces for Process related scheduling operations
*/
public interface ProcessScheduler {
/**
* This method checks experiment can be instantly scheduled to a computer resource,
* If it can be scheduled, Processes are updated with selected Scheduling resource otherwise all are
* moved to Queued state
* @param experimentId
* @return boolean
*/
boolean canLaunch(String experimentId);
/**
* This method can be used to reschedule a failed experiment.
* If experiment can be scheduled instantly, Processes are updated with scheduling resources, otherwise
* is moved to Queued state
* @param experimentId
* @return boolean
*/
boolean reschedule(String experimentId);
}