{ "info": { "author": "Amber Engine LLC", "author_email": "developers@amberengine.com", "bugtrack_url": null, "classifiers": [], "description": "# StepFunctions Activity Worker\n\nA worker that listens to a StepFunctions activity and executes a provided function using the inputs from the activity task.\n\nThe StepFunctions Activity Worker encapsulates all the parts of communicating with the StepFunctions API so you don't have to worry about task heartbeats or maintaining task tokens and success/failure scenarios; all you have to worry about is executing the task.\n\n### Installation\n\nInstall from [PyPI](https://pypi.org/project/stepfunctions-activity-worker/):\n\n```\npip install stepfunctions_activity_worker\n```\n\n\n### Usage\n\n```python\nfrom stepfunctions_activity_worker import ActivityWorker\n\n\ndef my_task(**task_input):\n \"\"\"Perform the task based on this task's input.\"\"\"\n # Perform your task here! \n return {\"result\": \"done!\"}\n\n\nif __name__ == \"__main__\":\n activity_arn = \"PLACE YOUR ACTIVITY ARN HERE\"\n worker = ActivityWorker(activity_arn, my_task)\n worker.listen()\n```\n\n## Warning\n\nThe `ActivityWorker` class, if not provided with a `client` argument on instantiation, will create a *properly configured* client from your default session.\n\nHowever, if you are providing an already instantiated `client` to the `ActivityWorker` class, *make sure it is proply configured to make StepFunctions API calls*!\n\nThe [`GetActivityTask` API call](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetActivityTask.html) __blocks for 60 seconds__ which *matches* the [`botocore.config.Config` default `read_timeout`](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html). This means that if the API response for `GetActivityTask` is not punctual (which it often isn't) it will cause unnecessary retry-requests & eventually bubble up an HTTP exception.\n\n```python\nimport boto3\nimport botocore\nfrom stepfunctions_activity_worker import ActivityWorker\n\ndef my_task(**task_input):\n \"\"\"Perform the task based on this task's input.\"\"\"\n # Perform your task here! \n return {\"result\": \"done!\"}\n\nconfig = botocore.config.Config(\n read_timeout=70,\n # Insert other custom configuration here\n)\nstepfunctions = boto3.client('stepfunctions', config=config)\n\nactivity_worker = ActivityWorker(activity_arn, my_task, client=stepfunctions)\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AmberEngine/stepfunctions_activity_worker", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "stepfunctions-activity-worker", "package_url": "https://pypi.org/project/stepfunctions-activity-worker/", "platform": "", "project_url": "https://pypi.org/project/stepfunctions-activity-worker/", "project_urls": { "Homepage": "https://github.com/AmberEngine/stepfunctions_activity_worker" }, "release_url": "https://pypi.org/project/stepfunctions-activity-worker/1.1.3/", "requires_dist": [ "boto3 (<2)" ], "requires_python": "", "summary": "Activity worker for performing AWS StepFunctions tasks", "version": "1.1.3" }, "last_serial": 5985637, "releases": { "0.0.11": [ { "comment_text": "", "digests": { "md5": "213ca9af5350dd2c778d79743b21ff8c", "sha256": "d15c179b84987d1d3ed6ab8cc82b1a3509efd55bcb45f67ae228d389abf36011" }, "downloads": -1, "filename": "stepfunctions_activity_worker-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "213ca9af5350dd2c778d79743b21ff8c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5238, "upload_time": "2018-11-29T18:24:02", "url": "https://files.pythonhosted.org/packages/ca/c7/dbe0de1dd7e970a6fa392e71475e24f02179838a28ff45669dd88c8dc0c9/stepfunctions_activity_worker-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1494864f13b62c83ccafcfcf3f130561", "sha256": "bd9cb29a03ce91fd980cfb8345407fd0a858863c6bbb4226ae13141626dd0426" }, "downloads": -1, "filename": "stepfunctions_activity_worker-0.0.11.tar.gz", "has_sig": false, "md5_digest": "1494864f13b62c83ccafcfcf3f130561", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3406, "upload_time": "2018-11-29T18:24:06", "url": "https://files.pythonhosted.org/packages/bc/0a/4744b72a93c2147b28660d1defcf103b12938bc558d8cff629c3f92c7606/stepfunctions_activity_worker-0.0.11.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "61c1df105f67e747e98a8fbdeb82c606", "sha256": "479f9de8fc256cbd1b06d668acafe9b153af9d429278008419fdc36a869398c0" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "61c1df105f67e747e98a8fbdeb82c606", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5274, "upload_time": "2018-11-29T18:36:17", "url": "https://files.pythonhosted.org/packages/cc/f4/0edf7712802baa784386b849c97547fa20762af8f23aa0c2cab97a455807/stepfunctions_activity_worker-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f71df0f410662ce7acf5945cc6c1ed4", "sha256": "1469ce9faa08585af02e305f4bdaef22d424b7d4e50fa5725724272c7db7763a" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1f71df0f410662ce7acf5945cc6c1ed4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3477, "upload_time": "2018-11-29T18:36:18", "url": "https://files.pythonhosted.org/packages/1a/99/fb37ef6850353f5fd9cd83736b037b73eaf17baba6f8c9d0322b6a192272/stepfunctions_activity_worker-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "220986dcc064fb625e03b0c8c806e1aa", "sha256": "4595e3d18e59924880bedfb2779b7be56097a39f6306f50c36ee81c8c7411876" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "220986dcc064fb625e03b0c8c806e1aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5380, "upload_time": "2019-02-21T15:57:59", "url": "https://files.pythonhosted.org/packages/5d/19/786b2ac555e094855635e294e6ee0af1315bb0f7af758b9b2afb9e3348bc/stepfunctions_activity_worker-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1157bca3abc8626acefa8910cf07a2b0", "sha256": "1c22880e6ec8987b24e539c86d6e21464259602d015217600762737497cbc3bb" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1157bca3abc8626acefa8910cf07a2b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3568, "upload_time": "2019-02-21T15:58:00", "url": "https://files.pythonhosted.org/packages/85/2f/b25556f1e019e136ce941185ebb8e38438c55757b43dd1f19c5d78a2a98c/stepfunctions_activity_worker-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "4c062d6449973e2a96ebb7842a69537a", "sha256": "de8454f37a3ac289bae9f08a9d857ffb2741d3bd1454bd062ad88a95ff6c0588" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4c062d6449973e2a96ebb7842a69537a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5380, "upload_time": "2019-02-25T20:19:52", "url": "https://files.pythonhosted.org/packages/d6/8c/bc4a2432f345950cd97cd99af5accfedb3d266385c0f5b1f69f551feda29/stepfunctions_activity_worker-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8382a4de1345e16feaec0d0981e48288", "sha256": "c59009fcee430d9ee2532675e13f182144076608a21c922abfe07c81e6c573ba" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.1.tar.gz", "has_sig": false, "md5_digest": "8382a4de1345e16feaec0d0981e48288", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3569, "upload_time": "2019-02-25T20:19:54", "url": "https://files.pythonhosted.org/packages/ba/40/697105782654047f7ce6d1af439cd3de7b490d955dda37728aa0cc6d10b8/stepfunctions_activity_worker-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "de3a5e07ec48490133ab73a6f16c0736", "sha256": "a452d6d250e4afdf0b43a6d02c1da7ef40cebbfaf3000f14778b952234fb2485" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "de3a5e07ec48490133ab73a6f16c0736", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5433, "upload_time": "2019-02-28T20:24:49", "url": "https://files.pythonhosted.org/packages/35/0f/d96dcdc506890e3e905f84f73b72e2955c6a9252be201d4dcc56e4b24721/stepfunctions_activity_worker-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b2ead2a5e26b5c42addade9a33cf331", "sha256": "5f389a8bb9adfeb6709855acfaed49a0e55bd3673c76c81224f9636c608fc4a1" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.2.tar.gz", "has_sig": false, "md5_digest": "7b2ead2a5e26b5c42addade9a33cf331", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3624, "upload_time": "2019-02-28T20:24:51", "url": "https://files.pythonhosted.org/packages/25/b3/a8f8fcd58f054cb531bd83e32d352046414b5d2a1d8b783238fbe64e6387/stepfunctions_activity_worker-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "14940ed3d2c8aa314ec9f468b1421bd6", "sha256": "6d5a3a1bf4f56bb40132d2bd2bbf5a60901f5162d1db76a868545914939b5436" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "14940ed3d2c8aa314ec9f468b1421bd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5503, "upload_time": "2019-10-16T17:45:37", "url": "https://files.pythonhosted.org/packages/1e/26/10ae740db371d87008f53584a71b7e50c777772fdf48810acce1baceffc8/stepfunctions_activity_worker-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b85d9eab9187877b18c71b95c2342c21", "sha256": "9a6f680b85d8253f4bf6c30824c9deb94374cb789791096cd0e661c090796c82" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.3.tar.gz", "has_sig": false, "md5_digest": "b85d9eab9187877b18c71b95c2342c21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3706, "upload_time": "2019-10-16T17:45:41", "url": "https://files.pythonhosted.org/packages/7e/68/6776e400938595e091e4e0d4457f021e508c948560e433689ff66d278d82/stepfunctions_activity_worker-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14940ed3d2c8aa314ec9f468b1421bd6", "sha256": "6d5a3a1bf4f56bb40132d2bd2bbf5a60901f5162d1db76a868545914939b5436" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "14940ed3d2c8aa314ec9f468b1421bd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5503, "upload_time": "2019-10-16T17:45:37", "url": "https://files.pythonhosted.org/packages/1e/26/10ae740db371d87008f53584a71b7e50c777772fdf48810acce1baceffc8/stepfunctions_activity_worker-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b85d9eab9187877b18c71b95c2342c21", "sha256": "9a6f680b85d8253f4bf6c30824c9deb94374cb789791096cd0e661c090796c82" }, "downloads": -1, "filename": "stepfunctions_activity_worker-1.1.3.tar.gz", "has_sig": false, "md5_digest": "b85d9eab9187877b18c71b95c2342c21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3706, "upload_time": "2019-10-16T17:45:41", "url": "https://files.pythonhosted.org/packages/7e/68/6776e400938595e091e4e0d4457f021e508c948560e433689ff66d278d82/stepfunctions_activity_worker-1.1.3.tar.gz" } ] }