[ 
https://issues.apache.org/jira/browse/SLING-3170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13794518#comment-13794518
 ] 

Stefan Seifert commented on SLING-3170:
---------------------------------------

option A): job engine provides a resource path, job consumer writes results, 
job engine cleans up in case of removal
- mixture of APIs: you mean the job api and the resource API? yes, this is 
true. currently there is no direct dependency between these APIs.
- ACLs: solvable by some conventions or configurabel users, still makes it 
difficult and un-elegant to set up

option B): enhances JobExecutionConext to add "something" like value maps
- not good to limit this to 2 levels (e.g. a list of keys with a list of flat 
value lists), should support deeper nested structures as well
- mimicks a ValueList but is not a ValueList - i do not think we want to exend 
the original ValueList by supporting nested deepter structures

what about option C): enhance JobConsumer interface
- the job engine or JobExecutionContext does not support any complex job result 
structures
- the job consumer implementation can decide to store any custom result data 
anyhwere in a repository with any ACL - the job engine does not care
- but a new method "cleanup(Job)" is added to the API which is called be the 
job engine if the job should be removed finally - the job consumer 
implementation can check for custom result data and delete it accordingly
- of course this is a very loose contract, and the job engine does not have any 
real control over the data.

how can we handle the topology case with this three options - or esp. the last 
option? how is it handled for the default job data, is it synchronized to all 
nodes within a topology, or only to the master (what if the master changes)? 
will be difficult to support with option C).

> Complex Job Result Structures
> -----------------------------
>
>                 Key: SLING-3170
>                 URL: https://issues.apache.org/jira/browse/SLING-3170
>             Project: Sling
>          Issue Type: New Feature
>          Components: Extensions
>            Reporter: Carsten Ziegeler
>            Assignee: Carsten Ziegeler
>             Fix For: Extensions Event 3.3.0
>
>
> This is a follow up from SLING-3028 based on comments by Stefan Seifert:
> we need a possible to store complex result structures in our jobs, e.g. a 
> subtree of nodes/resources with static and other process infos, definitely 
> too much for a single string. ok, we could build an JSON structure and pass 
> it over as log messages, but this would e really ugly hack. it would be 
> possible to store this structure in the job logic and have an own management 
> gui which can detect this additional result info by job id and display it. 
> but when thinking about a cluster of nodes where the job runs only on one 
> node it would be good to collect this job results centrally. i've not a 
> perfect idea for an API extension for this, perhaps we should create a 
> separate ticket for it.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to