{"push_id":865055087,"size":85,"distinct_size":53,"ref":"refs/heads/master","head":"967db94c2c7f759b98e9a58f276628ea773d9b84","before":"168956eedb466b5ff4738b089e8eabd69e993696","commits":[{"sha":"b513a7d4068805b3937924d4fb4a45cd401edc8f","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Update activity.py","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/b513a7d4068805b3937924d4fb4a45cd401edc8f"},{"sha":"90e19913b71bfebd978db90bef7f31a4781689ae","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #19 from xethorn/xethorn-handle-activity-failures\n\nHandle failures on `self.fail`","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/90e19913b71bfebd978db90bef7f31a4781689ae"},{"sha":"7e6fde34824dbc853ceee5b3cfcc8e14617356d3","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Add decorators.\n\nTwo new decorators have been added:\n* `task.decorator`: which is a generic decorator for tasks. You can pass a timeout and\n  `enable_contextify`.\n* `task.contextify`: which methods gets information from the context and send it to the\n   task.\n\nBackground:\n\nThe context is being passed to all tasks. Having the ability to know which task consume\nwhat information makes it easier to see additional dependencies between tasks. For\ninstance:\n\n```\nactivity = create(\n    name=activity_name,\n    tasks=SyncTasks(\n        send_email.fill(\n            user_email='context.user_email',\n            user_full_name='context.user.full_name')))\n```\n\nTo get the `fill` method, you can either do:\n\n```\nfrom garcon import tasks\n\n@tasks.contextify\ndef send_email(user_email):\n    pass\n\n@tasks.decorate()\ndef send_email(user_email):\n    pass\n```\n\nPlease note:\n\n> 1. Using the decorate method does not allow you to use `context` anymore. The goal is\n> to make sure that all values needed from the context are passed to the task (making\n> it explicit what the task need.)\n>\n> 2. Activity is now an optional param. If you don't need it, don't add it into the\n> signature of the method.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/7e6fde34824dbc853ceee5b3cfcc8e14617356d3"},{"sha":"67e0772d2dbcb5fd33073685f5a601a1f123612a","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #20 from xethorn/mo-15-feb-add-contextify\n\nAdd decorators.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/67e0772d2dbcb5fd33073685f5a601a1f123612a"},{"sha":"ea00f9b24d7476af0428926c6f1ead6cb4a8403c","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"(breaking change) Move task runners out of task.py\n\nThe task runners have different responsibilities than the tasks. Their goal is\nto call the tasks in a specific order. In this case, they should not be placed\ndirectly in tasks.py.\n\nPlease note: this change introduce a breaking change from the previous\nversion.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/ea00f9b24d7476af0428926c6f1ead6cb4a8403c"},{"sha":"07c36f54daba97dea284146c321785755e144377","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #21 from xethorn/mo-15-feb-add-task-runner\n\n(breaking change) Move task runners out of task.py","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/07c36f54daba97dea284146c321785755e144377"},{"sha":"f59ea0eededef54dc8754516d93d19684341a5d9","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Update setup.py","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/f59ea0eededef54dc8754516d93d19684341a5d9"},{"sha":"6e97935e7b46ffa85d2c7f3e1b959f6f097d243d","author":{"email":"54320e12a7780d9700be7f56b1e75c214702b745@gmail.com","name":"Raphael Antonmattei"},"message":"Fixed the call to task.runner","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/6e97935e7b46ffa85d2c7f3e1b959f6f097d243d"},{"sha":"2a9d0c05b3d68f4f5033cf17b4d0cbc7d94945f2","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #22 from rantonmattei/patch-1\n\nFixed the call to task.runner","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/2a9d0c05b3d68f4f5033cf17b4d0cbc7d94945f2"},{"sha":"cd413d6d36cd2fd920c9f37b97eb22a9e36e0d24","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Add ActivityInstance and Generator for Activities\n\nThose two new concepts are introducing the ability to run an activity _n_ times\nbased on a value that is within a context. It allows more complex operations such\nas: running one activity for a date within a date range. Retry mechanisms are\nalso a lot more granular.\n\nThe ActivityInstance represents an execution of the same activity with a different\ncontext. Each execution of an activity will have at least one instance, and if you\nuse a generator, it will have n instances.\n\nAdding generators does not change the dependency tree. If you have an activity\nthat depends on another one, the dependency will wait until all instances have\ncompleted.\n\n@rantonmattei","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/cd413d6d36cd2fd920c9f37b97eb22a9e36e0d24"},{"sha":"24be41cf6c8fc7536c873950b42d1cfb622be4dc","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Update README.md","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/24be41cf6c8fc7536c873950b42d1cfb622be4dc"},{"sha":"6db77bf81ab3407e42055158aa6e87ffb4c37fd4","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Update README.md","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/6db77bf81ab3407e42055158aa6e87ffb4c37fd4"},{"sha":"fee8317c9121a7cd68b05b0f13a19382d13b0fb3","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Update task.py\n\nNot all values in the context can be deepcopied.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/fee8317c9121a7cd68b05b0f13a19382d13b0fb3"},{"sha":"fefa09807b0a5c3f2b12bdf5708a07638bf66f63","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #24 from xethorn/mo-15-feb-add-instance-and-generator\n\nAdd ActivityInstance and Generator for Activities","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/fefa09807b0a5c3f2b12bdf5708a07638bf66f63"},{"sha":"1661cf8a42a567398c9cd1ae16295b3d1ef2c311","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Fix pool > poll.\n\nTypo, pool is actually poll.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/1661cf8a42a567398c9cd1ae16295b3d1ef2c311"},{"sha":"bf35e997346635c51eded0425978ffab8d477a29","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #27 from xethorn/mo-15-feb-add-instance-and-generator\n\nFix pool > poll.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/bf35e997346635c51eded0425978ffab8d477a29"},{"sha":"b284cd5d882c3b63f36c89eb99cce0d29305b0a3","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Switch `tasks` with `run`.\n\nJust some changes in the naming. Passing `tasks=` does not really reflect the fact\nthat we are passing a runner. So instead, we will be using `run` (which is self explanatory)\n\n@rantonmattei","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/b284cd5d882c3b63f36c89eb99cce0d29305b0a3"},{"sha":"c10f4aa3bd6787b963d0b476f4f6457a915c261d","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #29 from xethorn/mo-15-feb-add-run\n\nSwitch `tasks` with `run`.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/c10f4aa3bd6787b963d0b476f4f6457a915c261d"},{"sha":"5034559adc7f318bb0e8adf657e0b577bc81da7c","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Trim the context to what is needed.\n\nPreviously: any value added to the context will be sent as an input\nto the next activity.\n\nNow: if you use the `decorate` method (from task.py), we pluck the\nvalues that we need for this activity to work.\n\n@rantonmattei","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/5034559adc7f318bb0e8adf657e0b577bc81da7c"},{"sha":"b22f689da117bbcae9d9335be13511a050feef2d","author":{"email":"64b2b6d12bfe4baae7dad3d018f8cbf6b0e7a044@xethorn.net","name":"Michael Ortali"},"message":"Merge pull request #30 from xethorn/mo-15-feb-add-run\n\nTrim the context to what is needed.","distinct":false,"url":"https://api.github.com/repos/pkuong/garcon/commits/b22f689da117bbcae9d9335be13511a050feef2d"}]}