{ "info": { "author": "Guanliang MENG", "author_email": "mengguanliang@foxmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Bio-Informatics" ], "description": "# sgejob\n\n## 1 Introduction\nTo collect SGE job information with a damemon. see https://github.com/linzhi2013/sgejob\n\n## 2 Installation\n\nMake sure your `pip` is from Python3\n\n $ pip install sgejob\n\nThere will be a command `sgejob_daemon` created under the same directory where your `pip` command located.\n\n\nIf you want to learn more about Python3 and `pip`, please refer to `https://www.python.org/` and `https://docs.python.org/3/tutorial/venv.html?highlight=pip`.\n\n## 3 Usage\n\t\n\t$ sgejob_daemon\n\n usage: sgejob_daemon.py [-h] [-qstat ] [-user ] [-PIDFILE ]\n [-DAEMON_LOG ] [-sge_infor_file ]\n [-sge_usage_file ] [-interval INTERVAL]\n {start,stop} ...\n\n Start and stop a daemon to collect SGE job information. see https://github.com/linzhi2013/sgejob\n\n Copyright (c) 2018 Guanliang Meng (see https://github.com/linzhi2013).\n\n The function `daemonize()` part was copied from\n `https://python3-cookbook.readthedocs.io/zh_CN/latest/c12/p14_launching_daemon_process_on_unix.html`,\n which is licensed under the Apache License, Version 2.0.\n\n\n\n positional arguments:\n {start,stop}\n start start the daemon\n stop stop the daemon\n\n optional arguments:\n -h, --help show this help message and exit\n -qstat the qstat command to be used [qstatt]\n -user whose SGE jobs to be collected? [mengguanliang]\n -PIDFILE set PIDFILE path [/home/mengguanliang/sge_daemon.pid]\n -DAEMON_LOG set DAEMON_LOG path\n [/home/mengguanliang/sge_daemon.log]\n -sge_infor_file \n set sge infor_file path\n [/home/mengguanliang/sge.infor_df.csv]\n -sge_usage_file \n set sge usage_file path\n [/home/mengguanliang/sge.usage_df.csv]\n -interval INTERVAL how often to check the SGE job status? [300]\n\n### using as a module\n\n\n In [5]: from sgejob import UserJobs, SgeJob, record_jobs\n\n In [6]: UserJobs?\n Init signature: UserJobs(user=None, qstat='qstat')\n Docstring:\n `UserJobs` object has one attribute `jobs`, which is a dictionary, whose keys are the sge job numbers.\n\n Then `UserJobs.jobs[job_number]` is also a dictionary, whic has following\n keys:\n\n ['JB_job_number', 'JAT_prio', 'JB_name', 'JB_owner', 'state',\n 'JAT_start_time', 'queue_name', 'slots']\n File: ~/soft/script/sgejob/source/v0.0.1/sgejob/sgejob.py\n Type: type\n\n In [7]: SgeJob?\n Init signature: SgeJob(job_number=None, qstat='qstat')\n Docstring:\n `SgeJob` object has two attributes: `infor` and `usage`.\n\n `SgeJob.infor` is a dictionary, corresponding to the output content of\n `qstat -j job_number`, where the first column is the key, the second column\n is the value.\n\n `SgeJob.usage` is also a dictionary, whose content is from\n `SgeJob.infor['usage 1']`.\n\n\n `SgeJob.infor` has following keys:\n\n ['current_time', 'job_number', 'exec_file', 'submission_time', 'owner',\n 'uid', 'group', 'gid', 'sge_o_home', 'sge_o_log_name', 'sge_o_path',\n 'sge_o_shell', 'sge_o_workdir', 'sge_o_host', 'account', 'cwd',\n 'hard resource_list', 'mail_list', 'notify', 'job_name', 'jobshare',\n 'hard_queue_list', 'env_list', 'script_file', 'project', 'binding',\n 'job_type', 'usage 1', 'binding 1', 'scheduling info']\n\n\n `SgeJob.usage` has following keys:\n\n ['current_time', 'job_number', 'cpu', 'mem', 'io', 'vmem', 'maxvmem']\n File: ~/soft/script/sgejob/source/v0.0.1/sgejob/sgejob.py\n Type: type\n\n In [8]: record_jobs?\n Signature: record_jobs(user=None, qstat='qstat', running_only=True, infor_df_csvfile=None, usage_df_csvfile=None)\n Docstring:\n Collect job information and append to infor_df_csvfile and\n usage_df_csvfile.\n\n user=None, collect current user's jobs.\n\n if running_only=True, it will only collect the running jobs.\n\n return: None.\n File: ~/soft/script/sgejob/source/v0.0.1/sgejob/sgejob.py\n Type: function\n\n\n## 5 Citations\nCurrently, I have no plan to publish `sgejob`.\n\n## 6 Author\n\nGuanliang MENG.", "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/linzhi2013", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "sgejob", "package_url": "https://pypi.org/project/sgejob/", "platform": "", "project_url": "https://pypi.org/project/sgejob/", "project_urls": { "Homepage": "https://github.com/linzhi2013" }, "release_url": "https://pypi.org/project/sgejob/0.0.8/", "requires_dist": null, "requires_python": ">=3", "summary": "To collect SGE job information with a damemon", "version": "0.0.8" }, "last_serial": 4362424, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "55c2bded1acf19fbb9e9b69c115472d1", "sha256": "68a81621b15d7953afa74a03fff3f0a37ac81f554407ccd9d2736b4f7806aebb" }, "downloads": -1, "filename": "sgejob-0.0.1.tar.gz", "has_sig": false, "md5_digest": "55c2bded1acf19fbb9e9b69c115472d1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19812, "upload_time": "2018-10-01T08:36:13", "url": "https://files.pythonhosted.org/packages/63/88/02ec61e51e3fb4b6a96bb98868185720826614dfc9902b6ec32a1049c398/sgejob-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "7bb2b1455506e95591aab8a680cb142a", "sha256": "3c3ee057a876cc58b3a0398de1da5f7357b7f328a51467369fce90d3904ed17b" }, "downloads": -1, "filename": "sgejob-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7bb2b1455506e95591aab8a680cb142a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19863, "upload_time": "2018-10-01T09:00:18", "url": "https://files.pythonhosted.org/packages/1a/ba/0884727c3bf1978849737d19d265d46871985e0c10fbdabbacb74f8b57a2/sgejob-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "1e6da295428ac2cb0dd47f5f218ade6c", "sha256": "71f5db3a5c4963fab1c99735067d031e09f4335d1feee38429b40d3e7ae46774" }, "downloads": -1, "filename": "sgejob-0.0.3.tar.gz", "has_sig": false, "md5_digest": "1e6da295428ac2cb0dd47f5f218ade6c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19975, "upload_time": "2018-10-01T11:33:23", "url": "https://files.pythonhosted.org/packages/bb/a8/670b6e0d434a733b402a6bd663752a572d6fbe565fc35eaabf2e50d730b7/sgejob-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "8af14187388bb5a03620b5f59f492576", "sha256": "533f734c945c6ba35b6137ec66ad1ad2bc8cee441f092e7203561e6351fa569f" }, "downloads": -1, "filename": "sgejob-0.0.4.tar.gz", "has_sig": false, "md5_digest": "8af14187388bb5a03620b5f59f492576", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20019, "upload_time": "2018-10-01T11:41:14", "url": "https://files.pythonhosted.org/packages/de/63/f5014f4f457a2338bb3091c93b0391556577dc5157c7d0645384d94c6b64/sgejob-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8f8d1ad8d3c9badf7c839b38e28ae358", "sha256": "990857e6f3843a8861800c713a2740e3b81ecbeca0c74ed7a8c49cd706c6023b" }, "downloads": -1, "filename": "sgejob-0.0.5.tar.gz", "has_sig": false, "md5_digest": "8f8d1ad8d3c9badf7c839b38e28ae358", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20262, "upload_time": "2018-10-01T14:19:53", "url": "https://files.pythonhosted.org/packages/3d/59/fa67b71400f90b56928a7fc43c83ae79b531fc3ecd52f40fa412b345a9e2/sgejob-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "bfda9016f2650cb462e9d9c7965dbdd2", "sha256": "4bdb4969dfc79357ec49feef2c9cfa4f5a4777a4529f47d6db42d1806b00b762" }, "downloads": -1, "filename": "sgejob-0.0.6.tar.gz", "has_sig": false, "md5_digest": "bfda9016f2650cb462e9d9c7965dbdd2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20300, "upload_time": "2018-10-02T03:29:05", "url": "https://files.pythonhosted.org/packages/eb/a9/7387e2dc1001aa367549a0fefe1a2e9cca65ac6d581562e7040ede13a251/sgejob-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "666b97cab4524bf8dc08f46d3e451c80", "sha256": "fa72f7e3c3b2669ced5af4283edffb1efc491b35360d89a453e351b67f8b3677" }, "downloads": -1, "filename": "sgejob-0.0.7.tar.gz", "has_sig": false, "md5_digest": "666b97cab4524bf8dc08f46d3e451c80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20347, "upload_time": "2018-10-03T07:09:39", "url": "https://files.pythonhosted.org/packages/c1/4a/b349a243a663401db321ecb51bb5a9737f4b2f78463729cb7285f3048543/sgejob-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "0117eb78a2173ed262a041d0b4f9d85d", "sha256": "d24287a266f0433c2f45a2b41ee79a606540df3ac6c579185a40f8ad89f58fba" }, "downloads": -1, "filename": "sgejob-0.0.8.tar.gz", "has_sig": false, "md5_digest": "0117eb78a2173ed262a041d0b4f9d85d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20396, "upload_time": "2018-10-11T02:01:06", "url": "https://files.pythonhosted.org/packages/24/ad/c62fe956d9c3f3d508bd6ed1875d92107754c0061d20516717d10cd494b9/sgejob-0.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0117eb78a2173ed262a041d0b4f9d85d", "sha256": "d24287a266f0433c2f45a2b41ee79a606540df3ac6c579185a40f8ad89f58fba" }, "downloads": -1, "filename": "sgejob-0.0.8.tar.gz", "has_sig": false, "md5_digest": "0117eb78a2173ed262a041d0b4f9d85d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20396, "upload_time": "2018-10-11T02:01:06", "url": "https://files.pythonhosted.org/packages/24/ad/c62fe956d9c3f3d508bd6ed1875d92107754c0061d20516717d10cd494b9/sgejob-0.0.8.tar.gz" } ] }