[
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)