Skip to content

Releases: xethorn/garcon

Release 0.3.2

06 Aug 21:16
Compare
Choose a tag to compare
  • Add error catching for Decider polling #76
  • Add error catching for Activity polling #75

Release 0.3.1

20 Apr 20:45
Compare
Choose a tag to compare

Release 0.2.3

20 Oct 21:07
Compare
Choose a tag to compare
Update setup.py

New feature:

* Provide the execution input to the decider: this allows to use it before any activity has even been scheduled. #69

Release 0.2.3

07 Oct 21:14
Compare
Choose a tag to compare

Fixes:

Release 0.2.2

29 Sep 18:39
Compare
Choose a tag to compare

Fix:

  • Fix marking activity as failed for errors that are larger than 255 characters. #65

Release 0.2.1

28 Sep 12:53
Compare
Choose a tag to compare

Fixes:

  • When using the task decorator, the required informations for the GarconLogger extension are missing. #64

Release 0.2.0

14 Jul 19:53
Compare
Choose a tag to compare

New feature:

Custom error handler

You can now set a custom error handler for failures. The signature of the method should contain actor and exception. To have it on the decider, just set on the flow: on_exception and for activities, just set the on_exception attribute on the create method.

Example of a flow:

domain = 'dev'
name = 'country_flow'


def on_exception(actor, exception):
    """Handle exception.
    """

    print(actor, exception)


create = activity.create(domain, name, on_exception=on_exception)

Release 0.1.0

01 Jul 20:36
Compare
Choose a tag to compare

Introducing a few feature:

Manual decider

(Introduced in #59)

Until now, the creation of the decider was automated. It means that adding conditions around activity execution, creating several activities from a loop was not easy (you had to use generators.) This change allows to manually write the decider.

Example:

def decider(schedule):
    activity_1 = schedule(
        'activity_1', test_activity_1)
    activity_2 = schedule(
        'activity_2', test_activity_2, requires=[activity_1])

    for i in range(3):
        activity_3 = schedule(
            'activity-3.{}'.format(i), test_activity_3, requires=[activity_2])

        if activity_3.ready and activity_2.result.get('4') == 4:
            last_activity = schedule(
                'last_activity.{}'.format(i), test_activity_last,
                input=dict(the='end'))

Few things:

  • Id should be unique: it's the only way to not confuse an execution.
  • Activity should be created the same was as they are today (except you don't need to set the require flag on them.)

Release 0.0.7

15 Jun 21:49
Compare
Choose a tag to compare

New feature:

  • Add version support.

Release 0.0.6

04 Jun 13:23
Compare
Choose a tag to compare

Introduces:

Params

The params notifies how information should be sent to the activity. For instance: if you have a local information (e.g. database username, password), you shouldn't send this information to SWF – instead, you can use the garcon.param.StaticParam to provide this information.

Please note: external activities do not support this param.