{ "info": { "author": "Dark Secret Software Inc.", "author_email": "admin@darksecretsoftware.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "notigen\n=======\n\nOpenStack-like notification generator.\n\nIt works like this: In OpenStack an operation is a series of notifications\nconnected by a common request_id. For example, to create an instance we would\nhave the following events:\n\ncompute.run_instance.start\nscheduler.run_instance.start\nscheduler.run_instance.scheduled\nscheduler.run_instance.end\ncompute.instance.update\ncompute.instance.update\ncompute.instance.update\ncompute.instance.update\ncompute.instance.update\ncompute.instance.update\ncompute.run_instance.end\n\nBut, since this is a large system, we could have lots of these operations\ngoing on currently. Each operation takes time to perform. So the\nnotifications generated by these operations are interleaved.\n\nThis library simulates these many concurrent operations. You tell \nthe EventGenerator how many new operations to start per minute\nand it will. Note that you'll get a lot more notificationis than \nthe operations/second (since the operations persist over time in the\nfuture). \n\nThe library tries to avoid bad sequences (like doing an update on \na deleted instance), but it can happen in some race conditions.\n\nYou can generate in real-time by passing in a real datetime or\nyou can generate the events as fast as possible by incrementing\na starting time by the tick amount. See the examples below.\n\nTo generate events in real-time ...\n\n g = notigen.EventGenerator(100) # Number of operations per minute\n now = datetime.datetime.utcnow()\n start = now\n nevents = 0\n while nevents < 10000:\n e = g.generate(now)\n if e:\n nevents += len(e)\n\n now = datetime.datetime.utcnow()\n\nTo generate events as fast as possible ...\n\n g = notigen.EventGenerator(100) # Not really relevant\n now = datetime.datetime.utcnow()\n start = now\n nevents = 0\n while nevents < 10000:\n e = g.generate(now)\n if e:\n nevents += len(e)\n\n now = g.move_to_next_tick(now)\n\nDatetimes are returned as strings as OpenStack would.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/StackTach/notigen", "keywords": "openstack\nnotifications\nevents\ngenerator", "license": "Apache-2", "maintainer": null, "maintainer_email": null, "name": "notigen", "package_url": "https://pypi.org/project/notigen/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/notigen/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/StackTach/notigen" }, "release_url": "https://pypi.org/project/notigen/0.3.dev36/", "requires_dist": null, "requires_python": null, "summary": "OpenStack-like notification generator", "version": "0.3.dev36" }, "last_serial": 1534134, "releases": { "0.3.dev36": [ { "comment_text": "", "digests": { "md5": "08e74234dbc375971aacc5ee12872f58", "sha256": "c6bb660728b4670a29bf97c938039980b2139d45a2d3b8f94e07afc094a057af" }, "downloads": -1, "filename": "notigen-0.3.dev36.tar.gz", "has_sig": false, "md5_digest": "08e74234dbc375971aacc5ee12872f58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56656, "upload_time": "2015-04-27T17:53:36", "url": "https://files.pythonhosted.org/packages/b4/ba/620fffe8a5ab9bced160af8584744f3a1a34c4eca7e07c5bc9c928bce694/notigen-0.3.dev36.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "08e74234dbc375971aacc5ee12872f58", "sha256": "c6bb660728b4670a29bf97c938039980b2139d45a2d3b8f94e07afc094a057af" }, "downloads": -1, "filename": "notigen-0.3.dev36.tar.gz", "has_sig": false, "md5_digest": "08e74234dbc375971aacc5ee12872f58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56656, "upload_time": "2015-04-27T17:53:36", "url": "https://files.pythonhosted.org/packages/b4/ba/620fffe8a5ab9bced160af8584744f3a1a34c4eca7e07c5bc9c928bce694/notigen-0.3.dev36.tar.gz" } ] }