{ "info": { "author": "edX", "author_email": "oscm@edx.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Internet" ], "description": "edX Ecommerce Worker |Travis|_ |Codecov|_\n==========================================\n.. |Travis| image:: https://travis-ci.org/edx/ecommerce-worker.svg?branch=master\n.. _Travis: https://travis-ci.org/edx/ecommerce-worker\n\n.. |Codecov| image:: http://codecov.io/github/edx/ecommerce-worker/coverage.svg?branch=master\n.. _Codecov: http://codecov.io/github/edx/ecommerce-worker?branch=master\n\nThe Celery tasks contained herein are used to implement asynchronous order fulfillment and other features requiring the asynchronous execution of many small, common operations.\n\nPrerequisites\n-------------\n* Python 2.7.x (not tested with Python 3.x)\n* Celery 3.1.x\n* RabbitMQ 3.5.x\n\nGetting Started\n---------------\n\nMost commands necessary to develop and run this app can be found in the included Makefile. These instructions assume a working integration between the `edX ecommerce service `_ and the LMS, with asynchronous fulfillment configured on the ecommerce service.\n\nTo get started, create a new virtual environment and install the included requirements.\n\n $ make requirements\n\nThis project uses `Celery `_ to asynchronously execute tasks, such as those required during order fulfillment. Celery requires a solution to send and receive messages which typically comes in the form of a separate service called a message broker. This project uses `RabbitMQ `_ as a message broker. On OS X, use Homebrew to install it.\n\n $ brew install rabbitmq\n\nBy default, most operating systems don't allow enough open files for a message broker. RabbitMQ's docs indicate that allowing at least 4096 file descriptors should be sufficient for most development workloads. Check the limit on the number of file descriptors in your current process.\n\n $ ulimit -n\n\nIf it needs to be adjusted, run:\n\n $ ulimit -n 4096\n\nNext, start the RabbitMQ server.\n\n $ rabbitmq-server\n\nIn a separate process, start the Celery worker.\n\n $ make worker\n\nIn a third process, start the ecommerce service. In order for tasks to be visible to the ecommerce worker, the value of Celery's ``BROKER_URL`` setting must shared by the ecommerce service and the ecommerce worker.\n\nFinally, in a fourth process, start the LMS. At this point, if you attempt to enroll in a course supported by the ecommerce service, enrollment will be handled asynchronously by the ecommerce worker.\n\nIf you're forced to shut down the Celery workers prematurely, tasks may remain in the queue. To clear them, you can reset RabbitMQ.\n\n $ rabbitmqctl stop_app\n $ rabbitmqctl reset\n $ rabbitmqctl start_app\n\nLicense\n-------\n\nThe code in this repository is licensed under the AGPL unless otherwise noted. Please see ``LICENSE.txt`` for details.\n\nHow To Contribute\n-----------------\n\nContributions are welcome. Please read `How To Contribute `_ for details. Even though it was written with ``edx-platform`` in mind, these guidelines should be followed for Open edX code in general.\n\nReporting Security Issues\n-------------------------\n\nPlease do not report security issues in public. Please email security@edx.org.\n\nMailing List and IRC Channel\n----------------------------\n\nYou can discuss this code in the `edx-code Google Group `_ or in the ``#edx-code`` IRC channel on Freenode.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/edx/ecommerce-worker", "keywords": "edx ecommerce worker", "license": "AGPL", "maintainer": "", "maintainer_email": "", "name": "edx-ecommerce-worker", "package_url": "https://pypi.org/project/edx-ecommerce-worker/", "platform": "", "project_url": "https://pypi.org/project/edx-ecommerce-worker/", "project_urls": { "Homepage": "https://github.com/edx/ecommerce-worker" }, "release_url": "https://pypi.org/project/edx-ecommerce-worker/0.7.2/", "requires_dist": [ "celery (<4.0.0,>=3.1.18)", "edx-rest-api-client (<2.0.0,>=1.5.0)" ], "requires_python": "", "summary": "Celery tasks supporting the operations of edX's ecommerce service", "version": "0.7.2" }, "last_serial": 4680914, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0fb09fe1acf7dfc22cf8c313a7be667b", "sha256": "6b3946b0381aa67710e2c7a3a9cea335412cf39d8a6eef944e86ff202c842d91" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0fb09fe1acf7dfc22cf8c313a7be667b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12084, "upload_time": "2015-09-22T17:03:01", "url": "https://files.pythonhosted.org/packages/9c/60/2aa6ea91c4d2df7da1debdceea98c50c62c6e8a380da3d0944d1b21bf72a/edx_ecommerce_worker-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e856b84168151c33d6b17af8f3b35b08", "sha256": "a2f3a5f45196f01b27f6b220d268d71a422b7908fc7384a90d0820357da06dd5" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e856b84168151c33d6b17af8f3b35b08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6470, "upload_time": "2015-09-22T17:02:56", "url": "https://files.pythonhosted.org/packages/ef/70/a16793793b3f0e4832aac59a93e1ace15111fc90c8718e8c18786a82a0db/edx-ecommerce-worker-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "fb8a35f4c28bb42fb36e52c42d03d0b0", "sha256": "31793cb94d8be7a20fa4cc41aff999ce6e09ff6d6d8d1b7dcd442e6e8bd895ee" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "fb8a35f4c28bb42fb36e52c42d03d0b0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12796, "upload_time": "2015-09-29T21:09:24", "url": "https://files.pythonhosted.org/packages/12/61/db3bdf3dc8ea6ca881163c9082f965b860c382af4375782b520696f23ea0/edx_ecommerce_worker-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "033f1e771711b824e3b11047a97e2f91", "sha256": "90f64cdf0751387d46d773bde982ab8ddd1034761b93f2c1169035f598a9c05b" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.2.0.tar.gz", "has_sig": false, "md5_digest": "033f1e771711b824e3b11047a97e2f91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6638, "upload_time": "2015-09-29T21:09:28", "url": "https://files.pythonhosted.org/packages/d8/37/1131e3e0d87e0287e4f54f83442362f396de3f1d48adfab27b1b3d1660f2/edx-ecommerce-worker-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0a48f2ef96992919d2d508848a62b31a", "sha256": "aaa82b63ce5abd34dcef290cb6cced6367a516ab3bfc3a02b5be50cc009b0bd7" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0a48f2ef96992919d2d508848a62b31a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 12855, "upload_time": "2016-01-06T18:48:26", "url": "https://files.pythonhosted.org/packages/3f/43/5b61c26d8a127f4e1788a8d517e04aeec68717fdee83140c257d560cf38f/edx_ecommerce_worker-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cc83aa422afaa5069464b1ad6d681fe", "sha256": "feb7fd7bc816e7b3233e1a643dd56f8aa858bbb882c840d0072602bff509e96c" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.3.0.tar.gz", "has_sig": false, "md5_digest": "1cc83aa422afaa5069464b1ad6d681fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6659, "upload_time": "2016-01-06T18:48:36", "url": "https://files.pythonhosted.org/packages/2a/ef/a82063d8af0a39509730c326ef48862ab83f3e7f9e143090ff33a488d21e/edx-ecommerce-worker-0.3.0.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "1b9cf0e91c5a75f35d3656467814e4cf", "sha256": "d3cc39119e36f0afa98efca593ff6478da6f6ada60526322d22047b18d836f18" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.3.2-py2-none-any.whl", "has_sig": false, "md5_digest": "1b9cf0e91c5a75f35d3656467814e4cf", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13163, "upload_time": "2016-03-10T15:26:15", "url": "https://files.pythonhosted.org/packages/f2/4a/e5516f32ad28ae679b4f97236003dde279d3b5cc557b71ed87c2cdadeece/edx_ecommerce_worker-0.3.2-py2-none-any.whl" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "4af5ce4cd9cbc51496fede46924285b3", "sha256": "119c6b5ce925f25611dac2bf382bb0b0bee9b2031089d804fddb5531cb0767eb" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.3.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4af5ce4cd9cbc51496fede46924285b3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13162, "upload_time": "2016-03-10T16:41:02", "url": "https://files.pythonhosted.org/packages/ea/f9/4b2d6bdb368146b77c5f860121d0ed73658789aa642b008b72097cc4e24b/edx_ecommerce_worker-0.3.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "334a581b6fedd86e3c1d9e53a82a2803", "sha256": "80aaab0a93aa559c712ac93d90dc9e73bdc03d6190efda71b14bcee6197ee508" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.3.3.tar.gz", "has_sig": false, "md5_digest": "334a581b6fedd86e3c1d9e53a82a2803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6941, "upload_time": "2016-03-10T16:41:07", "url": "https://files.pythonhosted.org/packages/2d/5d/e19fbda687b90b57a9567767d04346262d297c457c3f3f705cd6db3c6604/edx-ecommerce-worker-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "04d1675d1d272f6fdb259057b6bff3a7", "sha256": "46148eb7899766c3b0f41e4403eb3ed18c1c26ca2f5fce00106a218350796747" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "04d1675d1d272f6fdb259057b6bff3a7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13503, "upload_time": "2016-05-20T21:10:13", "url": "https://files.pythonhosted.org/packages/87/08/d16ac6cd30d414f40bb4b47b2b0ef0219f942fee4f6f201bb9dc29b7bcc5/edx_ecommerce_worker-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "062c3fe96836fa28a45d68c624985220", "sha256": "9c8a251a13a99f7fc770af1e1977b0847c23014234087c5e6cc47a531ba3c0d8" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.4.0.tar.gz", "has_sig": false, "md5_digest": "062c3fe96836fa28a45d68c624985220", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7222, "upload_time": "2016-05-20T21:10:20", "url": "https://files.pythonhosted.org/packages/32/80/49873b71bfaf6bde09e397162e4e1e69ac83d9946e4574e389888105c2ad/edx-ecommerce-worker-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "e0f11db3f06a3cc8b5adaa1fc5cd60a6", "sha256": "c31f18deb6fd3b45ac0f13976113930c865e155f270ae5ff337226d8a119d99e" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.4.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e0f11db3f06a3cc8b5adaa1fc5cd60a6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13516, "upload_time": "2016-07-07T14:38:31", "url": "https://files.pythonhosted.org/packages/39/29/1f826711704f647e64ec975371f46522c8b534f598b5b96500608af2cd24/edx_ecommerce_worker-0.4.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ead33a01d28b1ac3e6c8b342fc0b0c86", "sha256": "0571d96a483e96c25094d9fdb5dd3162250035187cf66ca9699019282a26fbbc" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.4.1.tar.gz", "has_sig": false, "md5_digest": "ead33a01d28b1ac3e6c8b342fc0b0c86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7229, "upload_time": "2016-07-07T14:38:58", "url": "https://files.pythonhosted.org/packages/1c/92/9d02f6715c033fef4b889c262c0c9bd69df534015fc697ea6eae83c5b7af/edx-ecommerce-worker-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "0e38df307f288f9fc2a2ae5f1539eaaa", "sha256": "8039a1b12fb0879798854e1246d95d2c1d4fe158f8bb71c69de8f7304d6685d6" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.5.0-py2-none-any.whl", "has_sig": false, "md5_digest": "0e38df307f288f9fc2a2ae5f1539eaaa", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 18265, "upload_time": "2016-07-28T17:42:11", "url": "https://files.pythonhosted.org/packages/ac/35/dc322f2aea39b2a6d4fba2aaa9d02b2459104702256bc381798834a6c247/edx_ecommerce_worker-0.5.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "faa4ac9e2a8168599d494a22681215ce", "sha256": "13095e6c880d141b78bb3850339733c40060ac6ab989017cb4adf4ed32d43a5e" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.5.0.tar.gz", "has_sig": false, "md5_digest": "faa4ac9e2a8168599d494a22681215ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10893, "upload_time": "2016-07-28T17:42:13", "url": "https://files.pythonhosted.org/packages/1e/ab/be08da36ec0686c615d774870cb0cb91723c9fa3cce7679f5f438f8a1488/edx-ecommerce-worker-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "4d15cdf9dff2566914abeb2c70d20105", "sha256": "e73b8f5ed8a2373cc5fa91517c1915e24f1889eed2dae721041d5fbf7447b886" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.6.0-py2-none-any.whl", "has_sig": false, "md5_digest": "4d15cdf9dff2566914abeb2c70d20105", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 20456, "upload_time": "2017-02-02T18:24:42", "url": "https://files.pythonhosted.org/packages/7f/b4/3ef76e6e4cac59661a7b8648f2803b5e09fe3b1922a97421e949500049df/edx_ecommerce_worker-0.6.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f2a65870becb572d566a2fb7b7571e9", "sha256": "fadccffe413e1c0126988de354be2cdbac2c272bea72bb3cd27dc1e602c764f0" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.6.0.tar.gz", "has_sig": false, "md5_digest": "4f2a65870becb572d566a2fb7b7571e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13670, "upload_time": "2017-02-02T18:24:44", "url": "https://files.pythonhosted.org/packages/3e/f9/bee63c6efee32151940cd4bebd4a2bbf0247bc6ce55ae20fd872b57b4653/edx-ecommerce-worker-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "f2c0268c74543a5ff9f47f63c324e3f6", "sha256": "897d9cf7e670fc59fcb43951a2e3c8678693f20fb14429fe182b65240d9e2da6" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.7.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f2c0268c74543a5ff9f47f63c324e3f6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 30009, "upload_time": "2018-10-25T21:36:14", "url": "https://files.pythonhosted.org/packages/5f/f8/4420793c7a7c84292af42217b025f4af97c401e8a3482890823f97e57658/edx_ecommerce_worker-0.7.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dda3bf692bd50903029e84db4bac726e", "sha256": "ddc29da957d100f0d242c9586197b4b7b09746b16a1436b525ab52d45719256b" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.7.0.tar.gz", "has_sig": false, "md5_digest": "dda3bf692bd50903029e84db4bac726e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13973, "upload_time": "2018-10-25T21:36:16", "url": "https://files.pythonhosted.org/packages/92/4d/c8896596c62eb76a2fee8bb6448d900c030e00c12fd01133e3e7bb5637e0/edx-ecommerce-worker-0.7.0.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "067ecaae34ce04e687d770fceb9ef676", "sha256": "00fe9a0e220434a661020edc802320af9f37de345112236708bc0a69f2c3297e" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.7.2-py2-none-any.whl", "has_sig": false, "md5_digest": "067ecaae34ce04e687d770fceb9ef676", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 30958, "upload_time": "2019-01-10T12:30:00", "url": "https://files.pythonhosted.org/packages/dc/b0/12d6e0d6c0fb347a815db098af52b847b108728b52f7aebea8cb8114bf86/edx_ecommerce_worker-0.7.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "486ad145aee2c4cb2d9ff4472754248e", "sha256": "c320bb435d04659607dd82f77b2fdfc4cac410db211abc91026d9bf4aad28acc" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.7.2.tar.gz", "has_sig": false, "md5_digest": "486ad145aee2c4cb2d9ff4472754248e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14871, "upload_time": "2019-01-10T12:30:02", "url": "https://files.pythonhosted.org/packages/a6/99/f9e0d9d356d2caf8fe5b5f79fba796f355d50ade896e03c46c5edcdcafe3/edx-ecommerce-worker-0.7.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "067ecaae34ce04e687d770fceb9ef676", "sha256": "00fe9a0e220434a661020edc802320af9f37de345112236708bc0a69f2c3297e" }, "downloads": -1, "filename": "edx_ecommerce_worker-0.7.2-py2-none-any.whl", "has_sig": false, "md5_digest": "067ecaae34ce04e687d770fceb9ef676", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 30958, "upload_time": "2019-01-10T12:30:00", "url": "https://files.pythonhosted.org/packages/dc/b0/12d6e0d6c0fb347a815db098af52b847b108728b52f7aebea8cb8114bf86/edx_ecommerce_worker-0.7.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "486ad145aee2c4cb2d9ff4472754248e", "sha256": "c320bb435d04659607dd82f77b2fdfc4cac410db211abc91026d9bf4aad28acc" }, "downloads": -1, "filename": "edx-ecommerce-worker-0.7.2.tar.gz", "has_sig": false, "md5_digest": "486ad145aee2c4cb2d9ff4472754248e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14871, "upload_time": "2019-01-10T12:30:02", "url": "https://files.pythonhosted.org/packages/a6/99/f9e0d9d356d2caf8fe5b5f79fba796f355d50ade896e03c46c5edcdcafe3/edx-ecommerce-worker-0.7.2.tar.gz" } ] }