Questions & Answers

bIT_sosswald
Returning Responder

ScheduleContext in ScheduleTaskExecutor ermitteln

Hallo zusammen,

ich stehe gerade vor der Herausforderung ein Modul (eigener ScheduleTask) zu schreiben, welches Daten aus einer Deltagenerierung ermittelt und diese verarbeitet.

Fรผr die Delta-Generierung habe ich mich an diesen Blog-Post inkl. Kommentaren orientiert: DeltaGeneration - Get the generated or deleted Files

Hier werden die Informationen รผber die gelรถschten Seiten in den ScheduleContext geschrieben und nach der Generierung von dort wieder ausgelesen.

In meinem eigenen ScheduleTaskExecutor habe ich die Methode public void execute(ScheduleTaskControl scheduleTaskControl, ConfigData config, ScheduleTaskExecutionContext scheduleTaskExecutionContext).

Wie komme ich von dort aus auf den ScheduleContext? Der ScheduleTaskExecutionContext ist leider keine Subklasse von ScheduleContext.

Es gibt den LegacySchedulingAgent, der mir รผber getOriginalContext() den ScheduleContext gibt. Die Klasse ist aber nicht in der Doku vorhanden und auch der Name Legacy deutet darauf hin, dass es evtl. nicht die beste Idee ist diesen zu verwenden.

Wie bekomme ich den ScheduleContext am besten in meinem eigenen ScheduleTask? - Das muss ja irgendwie gehen... ๐Ÿ™‚

Beste GrรผรŸe

Sandro

5 Replies
RZoller
Returning Observer

Hallo @bIT_sosswald hast Du mittlerweile eine andere Lรถsung gefunden? Ich habe gerade auch das Problem ๐Ÿ˜ž

0 Kudos

Hi @RZoller,

da hier keine Antwort kam und ich keine andere Mรถglichkeit gefunden habe, habe ich damals wohl oder รผbel die mittlerweile als @Internal gekennzeichnete Klasse LegacySchedulingAgent verwendet, um mir damit den originalen Context zu holen. - Funktioniert seit dem stabil. ๐Ÿ˜‰
Aber eine Frage an Crownpeak wรคre es trotzdem Wert, wie man an den Schedule-Kontext kommt, wenn man einen eigenen Schedule-Task schreibt. (Den Context zu haben ist fรผr mich eigentlich eine Grundvoraussetzung...)

GrรผรŸe
Sandro

0 Kudos
RZoller
Returning Observer

Ja, sehe ich genauso. Ich muss an das Root-Verzeichnis der Generierung ran kommen, damit ich an die Files der Generierung zur Weiterverarbeitung kommen kann.

Hi @RZoller,

bist du hier schon weiter gekommen bzw. hast eine Aussage von Crownpeak?
Ich frage parallel einmal beim Helpdesk an, da es so scheint, als wรคre der LegacySchedulingAgent nun entfernt worden. Was sehr unschรถn ist.

0 Kudos
RZoller
Returning Observer

Wir haben fรผr unser Problem jetzt eine andere Lรถsung gefunden. Unser Code, der auf dem `LegacySchedulingAgent` basierte sah so aus:

String generationPathOld = scheduleTaskExecutionContext
.requireSpecialist(LegacySchedulingAgent.TYPE)
.getOriginalContext()
.getPath();

Wir verwenden jetzt:

String generationPath = scheduleTaskExecutionContext
.requireSpecialist(JobAgent.TYPE)
.getFolderPath();

 

Type a product name