Yes, this was my first idea as well (the single property pointing to either
an instance id or having the constant "LEADER"). I decided against this as
the most common use case right now is "run this on a single instance"; I
could also imagine the use case of running the task on a group of machines
which are "tagged" somehow. Obviously we don't have anything in that
direction yet.

So, maybe we should go with a property which can contain:
- a list of sling ids or
- LEADER or
- SINGLETON (maybe we need a better name for that - it just means, run only
on a single instance)

Regards
Carsten


2013/7/29 Felix Meschberger <[email protected]>

> Hi
>
> Am 29.07.2013 um 16:14 schrieb Carsten Ziegeler:
>
> > Yepp, I thought about this as well and came to the same conclusion.
> > However, apart from the Sling ID there is today no other mechanism to
> > identify an instance - apart from the leader. So I went with the easiest
> > case first.
>
> Right. The Sling ID is it -- and I think this is the one to use in any
> case -- optionally we can use the name, but this does not have the same
> uniqueness guarantee, which might just be good enough.
>
> But going with a specific ".leaderonly" property will get us - eventually
> - to two properties which may even be contradiction: Consider a task
> registered with .leaderonly=true and .runon=slingid. Will this run only if
> slingid is the leader ?
>
> I would prefer a single property .runon (better names welcome) which is
> the sling-id or sling-name or the constant "LEADER" meaning to run on the
> leader, no matter what the id or name. ... and you have to solve the
> problem of what happens if there are two or more instances with the same
> sling-name.
>
> Regards
> Felix
>
> >
> > Regards
> > Carsten
> >
> >
> > 2013/7/29 Felix Meschberger <[email protected]>
> >
> >> Hi
> >>
> >> Is it really so, that a job may be run on any instance or the leader
> >> instance ? Shouldn't we be able to bind a scheduled job just any
> instance X
> >> where "LEADER" might just be a special well-known instance name (like
> the
> >> HEAD revision in subversion) ?
> >>
> >> Regards
> >> Felix
> >>
> >> Am 25.07.2013 um 15:59 schrieb Carsten Ziegeler (JIRA):
> >>
> >>> Carsten Ziegeler created SLING-2979:
> >>> ---------------------------------------
> >>>
> >>>            Summary: Scheduled task should only run on leader
> >>>                Key: SLING-2979
> >>>                URL: https://issues.apache.org/jira/browse/SLING-2979
> >>>            Project: Sling
> >>>         Issue Type: New Feature
> >>>         Components: Commons
> >>>           Reporter: Carsten Ziegeler
> >>>           Assignee: Carsten Ziegeler
> >>>            Fix For: Commons Scheduler 2.3.6
> >>>
> >>>
> >>> With the new topology api we have support for leader election. In many
> >> cases scheduled tasks should only run on a single instance in a
> cluster. So
> >> far this can only be done by manually adding the task through the
> Scheduler
> >> interface but not with the whiteboard support.
> >>> We should add a new property scheduler.leaderonly which defaults to
> >> false but can be set to true. IN this case the task is only started on
> the
> >> leader.
> >>>
> >>> --
> >>> This message is automatically generated by JIRA.
> >>> If you think it was sent incorrectly, please contact your JIRA
> >> administrators
> >>> For more information on JIRA, see:
> >> http://www.atlassian.com/software/jira
> >>
> >>
> >
> >
> > --
> > Carsten Ziegeler
> > [email protected]
>
>


-- 
Carsten Ziegeler
[email protected]

Reply via email to