Support Request #11540
closedProcess more than one stream in a single processor
Description
Supportanfrage
Ich möchte einen Prozessor schreiben, der n Streams verarbeiten kann.
Ist dies möglich? Oder kann ein DatFile Processor nur Stream verarbeiten?
Lösung
Ja das ist möglich, aber nicht ganz Out-of-the-box.
Am einfachsten geht es wenn Du eine Singleton-Klasse anlegst die dann von den einzelnen Processor-Instanzen (eine Pro Stream) bedatet wird. Also mach am besten in deiner
Processor::open() ein forward-open auf deine Singleton Instanz und das gleiche dann bei Processor::process().
Updated by hidden almost 4 years ago
- Status changed from New to In Progress
- Topic set to FileLibrary::DatProcessing
- Customer set to AUDI
- Department set to EF
- Affected Products ADTF File Library 0.6.1 (BETA) added
Updated by hidden almost 4 years ago
- Status changed from In Progress to Customer Feedback Required
Hallo Christian,
der der Call für den Processor bezieht sich immer auf einen Stream, also eine 1:1 Beziehung mit dem output File.
Es kommt auch immer darauf an, was das Output File hergibt.
Desweiteren sollte man sich die Frage stellen, warum die Werte die man fusionieren möchte, nicht in einen Stream zusammen sind ?
Was wäre denn dein konkreter Use Case ?
Unabhängig davon wäre ein Weg, seinen Processor eine Append Funktion via Property zu geben, dann könntest du den zweiten Stream inserten, sofern es das File hergibt.
So oder so benötigst du mehrere Schritte.
Kommt aber auf deinen Use Case speziell an.
Was ich nicht weiß, wie sich das Processing mit Substreams verhält.
Damit hättest du ja schon mal die Möglichkeit, "mehrere Streams" zu mergen, aufzuzeichnen, und diese dann ggf. gemeinsam zu prozessieren.
@Martin ?
Aber unabhngig davon sollten wir noch auf den Use Case schauen.
Updated by hidden almost 4 years ago
Hi Christian,
ja das ist möglich, aber nicht ganz Out-of-the-box.
Am einfachsten geht es wenn Du eine Singleton-Klasse anlegst die dann von den einzelnen Processor-Instanzen (eine Pro Stream) bedatet wird. Also mach am besten in deiner
Processor::open() ein forward-open auf deine Singleton Instanz und das gleiche dann bei Processor::process().
Ich hoffe Du kannst mir folgen, bitte melde Dich sonst gerne wieder bei uns.
Grüße,
Martin
Updated by hidden almost 4 years ago
Hallo,
also habe ich mich nun dafür Entschieden einfach n Prozessoren in n Prozessen zu starten und einfach darauf zu warten bis sie durchgelaufen sind
Updated by hidden almost 4 years ago
- Project changed from 11 to Public Support
- Subject changed from ifhd adtf dattool to Process more than one stream in a single processor
- Description updated (diff)
- Status changed from Customer Feedback Required to To Be Closed
- Private changed from Yes to No
- Resolution set to Solved Issue
- Support Level changed from 2nd Level to 3rd Level