[New] added ArchiveExecutedActivitiesJob
This commit is contained in:
parent
d7b4bef70c
commit
1c6d873e5c
|
@ -0,0 +1,35 @@
|
||||||
|
package li.strolch.execution;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import li.strolch.agent.api.StrolchAgent;
|
||||||
|
import li.strolch.job.JobMode;
|
||||||
|
import li.strolch.job.StrolchJob;
|
||||||
|
import li.strolch.model.State;
|
||||||
|
import li.strolch.persistence.api.StrolchTransaction;
|
||||||
|
import li.strolch.privilege.model.PrivilegeContext;
|
||||||
|
|
||||||
|
public class ArchiveExecutedActivitiesJob extends StrolchJob {
|
||||||
|
|
||||||
|
public ArchiveExecutedActivitiesJob(StrolchAgent agent) {
|
||||||
|
super(agent, JobMode.Manual, 0, TimeUnit.MINUTES, 0, TimeUnit.MINUTES);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ArchiveExecutedActivitiesJob(StrolchAgent agent, JobMode jobMode, long initialDelay, TimeUnit initialDelayTimeUnit, long delay,
|
||||||
|
TimeUnit delayTimeUnit) {
|
||||||
|
super(agent, jobMode, initialDelay, initialDelayTimeUnit, delay, delayTimeUnit);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void execute(PrivilegeContext ctx) {
|
||||||
|
|
||||||
|
ExecutionHandler executionHandler = getComponent(ExecutionHandler.class);
|
||||||
|
|
||||||
|
try (StrolchTransaction tx = openTx(ctx.getCertificate())) {
|
||||||
|
tx.streamActivities().forEach(activity -> {
|
||||||
|
if (activity.getState() == State.EXECUTED)
|
||||||
|
executionHandler.archiveActivity(tx.getRealmName(), activity.getLocator());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue