lschilling
I'm new here

[FS5] Merkwürdiges Verhalten von GenerateTask

Hallo zusammen,

im FS5 wurden 2 Aufträge angelegt die jeweils eine Teilpublizierung ausführen. Bei der einen Teilpublizierung wurde im Generate Taks ein Startknoten gesetzt bei dem anderen Auftrag nicht. Über einen Workflow werden beide Aufträge ausgeführt und sollen jeweils nur eine Publizierung des gewählten Datensatzes in der Datenquelle starten.

Das kuriose, mit dem Auftrag der keinen Startknoten hat funktioniert das super. Mit dem Auftrag der einen Startknoten hat, werden immer alle Datensätze publiziert. Code schaut wie folgt aus und über generateTask.gentEntityStartNodes().clear() sollte ja auch der definierte Startknoten temporär verschwinden.

for(ScheduleTask scheduleTask : scheduleEntry.getTasks()) {
      if(scheduleTask.getName().equals(SCHEDULER_UXB_GENERATE) || scheduleTask.getName().equals(SCHEDULER_GENERATE)) {
           if(scheduleTask instanceof GenerateTask) {
                if(DETAIL_PAGE_ID != 0) {
          scheduleEntry.lock();
                     GenerateTask generateTask = (GenerateTask) scheduleTask;
                     context.logInfo("Size beforeClear:" + generateTask.getEntityStartNodes().size());
          generateTask.getEntityStartNodes().clear();
          context.logInfo("ENTITY_ID" + ENTITY_ID + "DETAIL_PAGE_ID" + DETAIL_PAGE_ID);
          context.logInfo("Size after Clear:" + generateTask.getEntityStartNodes().size());
                     GenerateTask.EntityEntry entityEntry = generateTask.createEntityEntry(ENTITY_ID, DETAIL_PAGE_ID);
                     generateTask.getEntityStartNodes().add(entityEntry);
                     context.logInfo("Size after add:" + generateTask.getEntityStartNodes().size());
                     taskFound = true;
                  } else {
                            context.logError("Page with name: " + DETAIL_PAGE + " not found, please check your workflow configuration.");
                   }
             } else {
                        context.logError("Task with name: " + scheduleTask.getName() + " is no generation task, please check your schedule tasks.");
                    }                           
                }
            }

     // execute publish
     ScheduleEntryControl control = scheduleEntry.execute();
     scheduleEntry.unlock();

Server-Version: 5.0.114.54807

Bin für jeden Hinweis dankbar Smiley Wink

Lars

0 Kudos
4 Replies
Peter_Jodeleit
Crownpeak employee

Was ist denn das für ein Startknoten? Zufälligerweise einer, der alle Datensätze generiert?

Peter
0 Kudos

Richtig, mit clear solltet dieser ja gelöscht werden und mit dem add der neue gesetzt werden. Oder hab ich da etwas falsch verstanden?

0 Kudos

Das "clear" rufst du ja auf "EntityStartNodes" auf, nicht auf der 'normalen' Startknoten-Liste.

Peter

Hallo Lars,

hat sich das Problem, nach dem Hinweis von Peter, erledigt?

Viele Grüße

Christoph

0 Kudos