On Fri, Feb 19, 2016 at 6:30 PM, Charles Butler
<charles.but...@canonical.com> wrote:
> I like the idea of an @after() decorator.
>
> I've run into some cases where having @after would be a boon, such as
> cycling for docker extensions (setting up network, storage, et-al) that
> would benefit from an @after() that i can ensure will be run before/after
> any workloads have landed on that daemon.
>
> Thats been a recurring headache for me is trying to figure out how to stuff
> that in without doing some serious state wizardry in the base layer i'm
> providing for workloads to consume.
>
> +1 to that

+1

>
>
> Charles Butler <charles.but...@canonical.com> - Juju Charmer
> Come see the future of modeling your datacenter: http://jujucharms.com
>
> On Fri, Feb 19, 2016 at 8:52 AM, Stuart Bishop <stuart.bis...@canonical.com>
> wrote:
>>
>> On 19 February 2016 at 16:32, Merlijn Sebrechts
>> <merlijn.sebrec...@gmail.com> wrote:
>>
>> > I completely agree with you on point two. The semantics I'm trying to
>> > get at
>> > for point one are a bit different. Events are information that is
>> > relevant
>> > for a single point in time, not until the information is processed.
>> > Events
>> > can be processed by multiple handlers or by none, and in both cases they
>> > become irrelevant after the single point in time.
>>
>> > So what I'm getting at is this:
>> >
>> >  - Handlers with event decorators may only be queued immediately after
>> > the
>> > event has fired
>> >  - Events do not get retested in the queue
>> >  - States work as they do now
>>
>> Apart from a file changing, what 'events' happen in the middle of a
>> hook that shouldn't remain set for the remainder of the hook? I can't
>> come up with any valid use cases, so maybe this all becomes a case of
>> fixing @when_file_changed rather than adding new stuff.
>>
>> That said, if there are valid use cases, perhaps an @after decorator.
>> It would work like @when, except it would remain active until the
>> handler has been run. ie. @when('foo') might get dequeued if the 'foo'
>> state is removed, but the @after('foo') would remain on the queue even
>> if the 'foo' state is removed. If a handler was decorated by both
>> @after('foo') and @when('bar'), it could get queued when 'bar' is set
>> even if 'foo' has since been removed. It seems easy enough to
>> implement (just a new decorator - no need to change the reactor), and
>> the same approach could be used to implement a fixed
>> @when_file_changed.
>>
>> (You could even implement @after in your charm or in a layer)
>>
>> --
>> Stuart Bishop <stuart.bis...@canonical.com>
>>
>> --
>> Juju mailing list
>> Juju@lists.ubuntu.com
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/juju
>
>
>
> --
> Juju mailing list
> Juju@lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju
>

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju

Reply via email to