Package org.apache.oozie.workflow

Examples of org.apache.oozie.workflow.WorkflowInstance


     */
    @Override
    protected Void execute() throws CommandException {
        InstrumentUtils.incrJobCounter(getName(), 1, getInstrumentation());
        LogUtils.setLogInfo(wfBean, logInfo);
        WorkflowInstance oldWfInstance = this.wfBean.getWorkflowInstance();
        WorkflowInstance newWfInstance;

        WorkflowAppService wps = Services.get().get(WorkflowAppService.class);
        try {
            XLog.Info.get().setParameter(DagXLogInfoService.TOKEN, conf.get(OozieClient.LOG_TOKEN));
            WorkflowApp app = wps.parseDef(conf, authToken);
View Full Code Here


    protected Void execute() throws CommandException {
        try {
            if (workflow.getStatus() == WorkflowJob.Status.SUSPENDED) {
                InstrumentUtils.incrJobCounter(getName(), 1, getInstrumentation());
                workflow.getWorkflowInstance().resume();
                WorkflowInstance wfInstance = workflow.getWorkflowInstance();
                ((LiteWorkflowInstance) wfInstance).setStatus(WorkflowInstance.Status.RUNNING);
                workflow.setWorkflowInstance(wfInstance);
                workflow.setStatus(WorkflowJob.Status.RUNNING);

View Full Code Here

        job = jpaService.execute(wfJobGetCmd);
        action = jpaService.execute(wfActionGetCmd);
        assertEquals(job.getStatus(), WorkflowJob.Status.RUNNING);
        assertEquals(action.getStatus(), WorkflowAction.Status.PREP);
        WorkflowInstance wfInstance = job.getWorkflowInstance();
        assertEquals(wfInstance.getStatus(), WorkflowInstance.Status.RUNNING);

        new KillXCommand(job.getId()).call();

        job = jpaService.execute(wfJobGetCmd);
        action = jpaService.execute(wfActionGetCmd);
        assertEquals(job.getStatus(), WorkflowJob.Status.KILLED);
        assertEquals(action.getStatus(), WorkflowAction.Status.KILLED);
        wfInstance = job.getWorkflowInstance();
        assertEquals(wfInstance.getStatus(), WorkflowInstance.Status.KILLED);
    }
View Full Code Here

        job = jpaService.execute(wfJobGetCmd);
        action = jpaService.execute(wfActionGetCmd);
        assertEquals(job.getStatus(), WorkflowJob.Status.RUNNING);
        assertEquals(action.getStatus(), WorkflowAction.Status.RUNNING);
        WorkflowInstance wfInstance = job.getWorkflowInstance();
        assertEquals(wfInstance.getStatus(), WorkflowInstance.Status.RUNNING);

        new KillXCommand(job.getId()).call();

        job = jpaService.execute(wfJobGetCmd);
        action = jpaService.execute(wfActionGetCmd);
        assertEquals(job.getStatus(), WorkflowJob.Status.KILLED);
        assertEquals(action.getStatus(), WorkflowAction.Status.KILLED);
        wfInstance = job.getWorkflowInstance();
        assertEquals(wfInstance.getStatus(), WorkflowInstance.Status.KILLED);
    }
View Full Code Here

        job = jpaService.execute(wfJobGetCmd);
        action = jpaService.execute(wfActionGetCmd);
        assertEquals(job.getStatus(), WorkflowJob.Status.RUNNING);
        assertEquals(action.getStatus(), WorkflowAction.Status.PREP);
        WorkflowInstance wfInstance = job.getWorkflowInstance();
        assertEquals(wfInstance.getStatus(), WorkflowInstance.Status.RUNNING);

        services.destroy();

        Thread.sleep(5000);

        setSystemProperty(LiteWorkflowStoreService.CONF_NODE_DEF_VERSION, LiteWorkflowStoreService.NODE_DEF_VERSION_1);
        services = new Services();
        services.init();

        Thread.sleep(5000);

        new KillXCommand(job.getId()).call();

        jpaService = Services.get().get(JPAService.class);
        job = jpaService.execute(wfJobGetCmd);
        action = jpaService.execute(wfActionGetCmd);
        assertEquals(job.getStatus(), WorkflowJob.Status.KILLED);
        assertEquals(action.getStatus(), WorkflowAction.Status.KILLED);
        wfInstance = job.getWorkflowInstance();
        assertEquals(wfInstance.getStatus(), WorkflowInstance.Status.KILLED);
    }
View Full Code Here

    private WorkflowJobBean createWorkflow(WorkflowApp app, Configuration conf, String authToken) throws Exception {
        WorkflowAppService wps = Services.get().get(WorkflowAppService.class);
        Configuration protoActionConf = wps.createProtoActionConf(conf, true);
        WorkflowLib workflowLib = Services.get().get(WorkflowStoreService.class).getWorkflowLibWithNoDB();
        WorkflowInstance wfInstance;
        wfInstance = workflowLib.createInstance(app, conf);
        WorkflowJobBean workflow = new WorkflowJobBean();
        workflow.setId(wfInstance.getId());
        workflow.setAppName(app.getName());
        workflow.setAppPath(conf.get(OozieClient.APP_PATH));
        workflow.setConf(XmlUtils.prettyPrint(conf).toString());
        workflow.setProtoActionConf(XmlUtils.prettyPrint(protoActionConf).toString());
        workflow.setCreatedTime(new Date());
View Full Code Here

        assertEquals(wfBean.getWorkflowInstance().getId(), wfBean1.getId());
    }

    private void _testUpdateWF() throws StoreException {
        wfBean1.setStatus(WorkflowJob.Status.SUCCEEDED);
        WorkflowInstance wfInstance = wfBean1.getWorkflowInstance();
        wfInstance.setVar("test", "hello");
        wfBean1.setWorkflowInstance(wfInstance);
        wfBean1.setExternalId("testExtId");
        store.getWorkflow(wfBean1.getId(), false);
        store.updateWorkflow(wfBean1);
        WorkflowJobBean wfBean = store.getWorkflow(wfBean1.getId(), false);
View Full Code Here

        }
        if ((action == null) || (action.isComplete() && action.isPending())) {
            try {
                if (workflow.getStatus() == WorkflowJob.Status.RUNNING
                        || workflow.getStatus() == WorkflowJob.Status.PREP) {
                    WorkflowInstance workflowInstance = workflow.getWorkflowInstance();
                    workflowInstance.setTransientVar(WorkflowStoreService.WORKFLOW_BEAN, workflow);
                    boolean completed;
                    if (action == null) {
                        if (workflow.getStatus() == WorkflowJob.Status.PREP) {
                            completed = workflowInstance.start();
                            workflow.setStatus(WorkflowJob.Status.RUNNING);
                            workflow.setStartTime(new Date());
                            workflow.setWorkflowInstance(workflowInstance);
                            // 1. Add SLA status event for WF-JOB with status
                            // STARTED
                            // 2. Add SLA registration events for all WF_ACTIONS
                            SLADbOperations.writeStausEvent(workflow.getSlaXml(), jobId, store, Status.STARTED,
                                                            SlaAppType.WORKFLOW_JOB);
                            writeSLARegistrationForAllActions(workflowInstance.getApp().getDefinition(), workflow
                                    .getUser(), workflow.getGroup(), workflow.getConf(), store);
                            queueCallable(new NotificationCommand(workflow));
                        }
                        else {
                            throw new CommandException(ErrorCode.E0801, workflow.getId());
                        }
                    }
                    else {
                        String skipVar = workflowInstance.getVar(action.getName() + WorkflowInstance.NODE_VAR_SEPARATOR
                                + ReRunCommand.TO_SKIP);
                        if (skipVar != null) {
                            skipAction = skipVar.equals("true");
                        }
                        completed = workflowInstance.signal(action.getExecutionPath(), action.getSignalValue());
                        workflow.setWorkflowInstance(workflowInstance);
                        action.resetPending();
                        if (!skipAction) {
                            action.setTransition(workflowInstance.getTransition(action.getName()));
                        }
                        store.updateAction(action);
                    }

                    if (completed) {
                        for (String actionToKillId : WorkflowStoreService.getActionsToKill(workflowInstance)) {
                            WorkflowActionBean actionToKill = store.getAction(actionToKillId, false);
                            actionToKill.setPending();
                            actionToKill.setStatus(WorkflowActionBean.Status.KILLED);
                            store.updateAction(actionToKill);
                            queueCallable(new ActionKillCommand(actionToKill.getId(), actionToKill.getType()));
                        }

                        for (String actionToFailId : WorkflowStoreService.getActionsToFail(workflowInstance)) {
                            WorkflowActionBean actionToFail = store.getAction(actionToFailId, false);
                            actionToFail.resetPending();
                            actionToFail.setStatus(WorkflowActionBean.Status.FAILED);
                            SLADbOperations.writeStausEvent(action.getSlaXml(), action.getId(), store, Status.FAILED,
                                                            SlaAppType.WORKFLOW_ACTION);
                            store.updateAction(actionToFail);
                        }

                        workflow.setStatus(WorkflowJob.Status.valueOf(workflowInstance.getStatus().toString()));
                        workflow.setEndTime(new Date());
                        workflow.setWorkflowInstance(workflowInstance);
                        Status slaStatus = Status.SUCCEEDED;
                        switch (workflow.getStatus()) {
                            case SUCCEEDED:
                                slaStatus = Status.SUCCEEDED;
                                break;
                            case KILLED:
                                slaStatus = Status.KILLED;
                                break;
                            case FAILED:
                                slaStatus = Status.FAILED;
                                break;
                            default: // TODO about SUSPENDED

                        }
                        SLADbOperations.writeStausEvent(workflow.getSlaXml(), jobId, store, slaStatus,
                                                        SlaAppType.WORKFLOW_JOB);
                        queueCallable(new NotificationCommand(workflow));
                        if (workflow.getStatus() == WorkflowJob.Status.SUCCEEDED) {
                            incrJobCounter(INSTR_SUCCEEDED_JOBS_COUNTER_NAME, 1);
                        }
                    }
                    else {
                        for (WorkflowActionBean newAction : WorkflowStoreService.getStartedActions(workflowInstance)) {
                            String skipVar = workflowInstance.getVar(newAction.getName()
                                    + WorkflowInstance.NODE_VAR_SEPARATOR + ReRunCommand.TO_SKIP);
                            boolean skipNewAction = false;
                            if (skipVar != null) {
                                skipNewAction = skipVar.equals("true");
                            }
                            if (skipNewAction) {
                                WorkflowActionBean oldAction = store.getAction(newAction.getId(), false);
                                oldAction.setPending();
                                store.updateAction(oldAction);
                                queueCallable(new SignalCommand(jobId, oldAction.getId()));
                            }
                            else {
                                newAction.setPending();
                                String actionSlaXml = getActionSLAXml(newAction.getName(), workflowInstance.getApp()
                                        .getDefinition(), workflow.getConf());
                                // System.out.println("111111 actionXml " +
                                // actionSlaXml);
                                // newAction.setSlaXml(workflow.getSlaXml());
                                newAction.setSlaXml(actionSlaXml);
View Full Code Here

    private WorkflowJobBean createWorkflow(WorkflowApp app, Configuration conf, String authToken) throws Exception {
        WorkflowAppService wps = Services.get().get(WorkflowAppService.class);
        Configuration protoActionConf = wps.createProtoActionConf(conf, authToken, true);
        WorkflowLib workflowLib = Services.get().get(WorkflowStoreService.class).getWorkflowLibWithNoDB();
        WorkflowInstance wfInstance;
        wfInstance = workflowLib.createInstance(app, conf);
        WorkflowJobBean workflow = new WorkflowJobBean();
        workflow.setId(wfInstance.getId());
        workflow.setAppName(app.getName());
        workflow.setAppPath(conf.get(OozieClient.APP_PATH));
        workflow.setConf(XmlUtils.prettyPrint(conf).toString());
        workflow.setProtoActionConf(XmlUtils.prettyPrint(protoActionConf).toString());
        workflow.setCreatedTime(new Date());
View Full Code Here

                        cron.start();
                        executor.end(context, action);
                        cron.stop();
                        addActionCron(action.getType(), cron);

                        WorkflowInstance wfInstance = workflow.getWorkflowInstance();
                        DagELFunctions.setActionInfo(wfInstance, action);
                        workflow.setWorkflowInstance(wfInstance);
                        incrActionCounter(action.getType(), 1);

                        if (!context.isEnded()) {
View Full Code Here

TOP

Related Classes of org.apache.oozie.workflow.WorkflowInstance

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.