{ "info": { "author": "Selwin Ong", "author_email": "selwin.ong@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "============\nRQ Scheduler\n============\n\n`RQ Scheduler `_ is a small package that\nadds job scheduling capabilities to `RQ `_,\na `Redis `_ based Python queuing library.\n\n.. image:: https://travis-ci.org/rq/rq-scheduler.svg?branch=master\n :target: https://travis-ci.org/rq/rq-scheduler\n\n====================\nSupport RQ Scheduler\n====================\n\nIf you find ``rq-scheduler`` useful, please consider supporting its development via `Tidelift `_.\n\n============\nRequirements\n============\n\n* `RQ`_\n\n============\nInstallation\n============\n\nYou can install `RQ Scheduler`_ via pip::\n\n pip install rq-scheduler\n\nOr you can download the latest stable package from `PyPI `_.\n\n=====\nUsage\n=====\n\nSchedule a job involves doing two different things:\n\n1. Putting a job in the scheduler\n2. Running a scheduler that will move scheduled jobs into queues when the time comes\n\n----------------\nScheduling a Job\n----------------\n\nThere are two ways you can schedule a job. The first is using RQ Scheduler's ``enqueue_at``\n\n.. code-block:: python\n\n from redis import Redis\n from rq import Queue\n from rq_scheduler import Scheduler\n from datetime import datetime\n\n scheduler = Scheduler(connection=Redis()) # Get a scheduler for the \"default\" queue\n scheduler = Scheduler('foo', connection=Redis()) # Get a scheduler for the \"foo\" queue\n\n # You can also instantiate a Scheduler using an RQ Queue\n queue = Queue('bar', connection=Redis())\n scheduler = Scheduler(queue=queue)\n\n # Puts a job into the scheduler. The API is similar to RQ except that it\n # takes a datetime object as first argument. So for example to schedule a\n # job to run on Jan 1st 2020 we do:\n scheduler.enqueue_at(datetime(2020, 1, 1), func) # Date time should be in UTC\n\n # Here's another example scheduling a job to run at a specific date and time (in UTC),\n # complete with args and kwargs.\n scheduler.enqueue_at(datetime(2020, 1, 1, 3, 4), func, foo, bar=baz)\n\n\nThe second way is using ``enqueue_in``. Instead of taking a ``datetime`` object,\nthis method expects a ``timedelta`` and schedules the job to run at\nX seconds/minutes/hours/days/weeks later. For example, if we want to monitor how\npopular a tweet is a few times during the course of the day, we could do something like\n\n.. code-block:: python\n\n from datetime import timedelta\n\n # Schedule a job to run 10 minutes, 1 hour and 1 day later\n scheduler.enqueue_in(timedelta(minutes=10), count_retweets, tweet_id)\n scheduler.enqueue_in(timedelta(hours=1), count_retweets, tweet_id)\n scheduler.enqueue_in(timedelta(days=1), count_retweets, tweet_id)\n\n**IMPORTANT**: You should always use UTC datetime when working with `RQ Scheduler`_.\n\n------------------------\nPeriodic & Repeated Jobs\n------------------------\n\nAs of version 0.3, `RQ Scheduler`_ also supports creating periodic and repeated jobs.\nYou can do this via the ``schedule`` method. Note that this feature needs\n`RQ`_ >= 0.3.1.\n\nThis is how you do it\n\n.. code-block:: python\n\n scheduler.schedule(\n scheduled_time=datetime.utcnow(), # Time for first execution, in UTC timezone\n func=func, # Function to be queued\n args=[arg1, arg2], # Arguments passed into function when executed\n kwargs={'foo': 'bar'}, # Keyword arguments passed into function when executed\n interval=60, # Time before the function is called again, in seconds\n repeat=10, # Repeat this number of times (None means repeat forever)\n meta={'foo': 'bar'} # Arbitrary pickleable data on the job itself\n )\n\n**IMPORTANT NOTE**: If you set up a repeated job, you must make sure that you\neither do not set a `result_ttl` value or you set a value larger than the interval.\nOtherwise, the entry with the job details will expire and the job will not get re-scheduled.\n\n------------------------\nCron Jobs\n------------------------\n\nAs of version 0.6.0, `RQ Scheduler`_ also supports creating Cron Jobs, which you can use for\nrepeated jobs to run periodically at fixed times, dates or intervals, for more info check\nhttps://en.wikipedia.org/wiki/Cron. You can do this via the ``cron`` method.\n\nThis is how you do it\n\n.. code-block:: python\n\n scheduler.cron(\n cron_string, # A cron string (e.g. \"0 0 * * 0\")\n func=func, # Function to be queued\n args=[arg1, arg2], # Arguments passed into function when executed\n kwargs={'foo': 'bar'}, # Keyword arguments passed into function when executed\n repeat=10, # Repeat this number of times (None means repeat forever)\n queue_name=queue_name, # In which queue the job should be put in\n meta={'foo': 'bar'} # Arbitrary pickleable data on the job itself\n )\n\n-------------------------\nRetrieving scheduled jobs\n-------------------------\n\nSometimes you need to know which jobs have already been scheduled. You can get a\nlist of enqueued jobs with the ``get_jobs`` method\n\n.. code-block:: python\n\n list_of_job_instances = scheduler.get_jobs()\n\nIn it's simplest form (as seen in the above example) this method returns a list\nof all job instances that are currently scheduled for execution.\n\nAdditionally the method takes two optional keyword arguments ``until`` and\n``with_times``. The first one specifies up to which point in time scheduled jobs\nshould be returned. It can be given as either a datetime / timedelta instance\nor an integer denoting the number of seconds since epoch (1970-01-01 00:00:00).\nThe second argument is a boolean that determines whether the scheduled execution\ntime should be returned along with the job instances.\n\nExample\n\n.. code-block:: python\n\n # get all jobs until 2012-11-30 10:00:00\n list_of_job_instances = scheduler.get_jobs(until=datetime(2012, 10, 30, 10))\n\n # get all jobs for the next hour\n list_of_job_instances = scheduler.get_jobs(until=timedelta(hours=1))\n\n # get all jobs with execution times\n jobs_and_times = scheduler.get_jobs(with_times=True)\n # returns a list of tuples:\n # [(, datetime.datetime(2012, 11, 25, 12, 30)), ...]\n\n------------------------------\nChecking if a job is scheduled\n------------------------------\n\nYou can check whether a specific job instance or job id is scheduled for\nexecution using the familiar python ``in`` operator\n\n.. code-block:: python\n\n if job_instance in scheduler:\n # Do something\n # or\n if job_id in scheduler:\n # Do something\n\n---------------\nCanceling a job\n---------------\n\nTo cancel a job, simply pass a ``Job`` or a job id to ``scheduler.cancel``\n\n.. code-block:: python\n\n scheduler.cancel(job)\n\nNote that this method returns ``None`` whether the specified job was found or not.\n\n---------------------\nRunning the scheduler\n---------------------\n\n`RQ Scheduler`_ comes with a script ``rqscheduler`` that runs a scheduler\nprocess that polls Redis once every minute and move scheduled jobs to the\nrelevant queues when they need to be executed\n\n.. code-block:: bash\n\n # This runs a scheduler process using the default Redis connection\n rqscheduler\n\nIf you want to use a different Redis server you could also do\n\n.. code-block:: bash\n\n rqscheduler --host localhost --port 6379 --db 0\n\nThe script accepts these arguments:\n\n* ``-H`` or ``--host``: Redis server to connect to\n* ``-p`` or ``--port``: port to connect to\n* ``-d`` or ``--db``: Redis db to use\n* ``-P`` or ``--password``: password to connect to Redis\n* ``-b`` or ``--burst``: runs in burst mode (enqueue scheduled jobs whose execution time is in the past and quit)\n* ``-i INTERVAL`` or ``--interval INTERVAL``: How often the scheduler checks for new jobs to add to the queue (in seconds, can be floating-point for more precision).\n* ``-j`` or ``--job-class``: specify custom job class for rq to use (python module.Class)\n* ``-q`` or ``--queue-class``: specify custom queue class for rq to use (python module.Class)\n\nThe arguments pull default values from environment variables with the\nsame names but with a prefix of ``RQ_REDIS_``.\n\nRunning the Scheduler as a Service on Ubuntu\n--------------------------------------------\n\nsudo /etc/systemd/system/rqscheduler.service\n\n.. code-block:: bash\n\n [Unit]\n Description=RQScheduler\n After=network.target\n\n [Service]\n ExecStart=/home/<>/.virtualenvs/<>/bin/python \\\n /home/<>/.virtualenvs/<>/lib/<>/site-packages/rq_scheduler/scripts/rqscheduler.py\n\n [Install]\n WantedBy=multi-user.target\n\nYou will also want to add any command line parameters if your configuration is not localhost or not set in the environmnt variabes. \n\nStart, check Status and Enable the service\n\n.. code-block:: bash\n\n sudo systemctl start rqscheduler.service\n sudo systemctl status rqscheduler.service\n sudo systemctl enable rqscheduler.service\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/rq/rq-scheduler", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "rq-scheduler", "package_url": "https://pypi.org/project/rq-scheduler/", "platform": "", "project_url": "https://pypi.org/project/rq-scheduler/", "project_urls": { "Homepage": "https://github.com/rq/rq-scheduler" }, "release_url": "https://pypi.org/project/rq-scheduler/0.9.1/", "requires_dist": [ "croniter (>=0.3.9)", "rq (>=0.13)" ], "requires_python": "", "summary": "Provides job scheduling capabilities to RQ (Redis Queue)", "version": "0.9.1" }, "last_serial": 5942653, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2646bdd3514b8dfa0204e99c9946ce34", "sha256": "71dfe58dbe2f5dc6df831b1514b2a71904b98bdf2e7ec38bfc1e2a3e4fecb723" }, "downloads": -1, "filename": "rq-scheduler-0.1.tar.gz", "has_sig": false, "md5_digest": "2646bdd3514b8dfa0204e99c9946ce34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4593, "upload_time": "2012-06-17T05:43:37", "url": "https://files.pythonhosted.org/packages/34/47/9d3854eccd338155388d5c64b99036335afa6a9ab4b199ed58a0d0e4392a/rq-scheduler-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "60039b8bc6ef1032ac4859b8f2f333db", "sha256": "9efc7628f9b3adb1b80f243c64d68c4068bd07c2715de078d751892a601ec378" }, "downloads": -1, "filename": "rq-scheduler-0.1.1.tar.gz", "has_sig": false, "md5_digest": "60039b8bc6ef1032ac4859b8f2f333db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4802, "upload_time": "2012-06-17T10:35:23", "url": "https://files.pythonhosted.org/packages/90/0c/166d38a8e76a36a020a9b0c64b3bf3a28239cf2961f993a4259b3d553cc2/rq-scheduler-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a5be94260a40504bfdd29438c13b3081", "sha256": "ff08d9007aed9f726215a0c8e13baba64a3ad03d018ab59a2a5fa7dda9860df4" }, "downloads": -1, "filename": "rq-scheduler-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a5be94260a40504bfdd29438c13b3081", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5405, "upload_time": "2012-06-17T12:11:08", "url": "https://files.pythonhosted.org/packages/27/8c/b304db373427badcdfe613fa8e88a963cfc1c01213b4b6cadda9bcf55523/rq-scheduler-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "cd765bb2e282c306942bfab617b59853", "sha256": "846330204a51f6fc1825ff871b3a677da5f978ec31f7dd79ac51e0d1a7a50888" }, "downloads": -1, "filename": "rq-scheduler-0.3.0.tar.gz", "has_sig": false, "md5_digest": "cd765bb2e282c306942bfab617b59853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7057, "upload_time": "2012-07-20T09:31:27", "url": "https://files.pythonhosted.org/packages/90/e0/9bb12249cc36fd5de536cb6e41da5b29f42be50c9061aad022cc6e98b3d0/rq-scheduler-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "8fde1990d755af17c16b6c2fbfe9cd85", "sha256": "d72c1b8a7f3423fc409f23431ef2296663f2a2fd4477cb52e65fb2cca8b004b8" }, "downloads": -1, "filename": "rq-scheduler-0.3.1.tar.gz", "has_sig": false, "md5_digest": "8fde1990d755af17c16b6c2fbfe9cd85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6765, "upload_time": "2012-08-06T04:12:47", "url": "https://files.pythonhosted.org/packages/94/95/a1febaad2184e287dc90dd9e828893ccd43e4581f0bb3aa41bb6bb280e80/rq-scheduler-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "b4018406dafdf1d70a84a1c894474271", "sha256": "0a8f5408f29e8b28a11934eb2e05b575d5137240c491c0cefab7e6b10fd6dca1" }, "downloads": -1, "filename": "rq-scheduler-0.3.2.tar.gz", "has_sig": false, "md5_digest": "b4018406dafdf1d70a84a1c894474271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6844, "upload_time": "2012-09-02T09:39:23", "url": "https://files.pythonhosted.org/packages/4d/c4/f657ece22755108f76ca0c9c8604a85b8d74afb2fb24b1436e9a54a95acb/rq-scheduler-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "429b46429bfa93254fe4febade027bf8", "sha256": "a3d9c7e2c60c14004fd2b7b77a73af7cfea6554b51da400d1b37e72f174feb4b" }, "downloads": -1, "filename": "rq-scheduler-0.3.3.tar.gz", "has_sig": false, "md5_digest": "429b46429bfa93254fe4febade027bf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9099, "upload_time": "2012-11-25T09:58:39", "url": "https://files.pythonhosted.org/packages/c8/d8/7044a7f364f07370ae5f0d8bb2d250098ef3b393451ad6db9529677b0d2d/rq-scheduler-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "e297bf4ba6e2b2a6b37cefb784742e36", "sha256": "4fdb5830798b0d70b94370471926176173e0027c283b6a88427e769efa87657e" }, "downloads": -1, "filename": "rq-scheduler-0.3.4.tar.gz", "has_sig": false, "md5_digest": "e297bf4ba6e2b2a6b37cefb784742e36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9192, "upload_time": "2013-01-30T12:30:01", "url": "https://files.pythonhosted.org/packages/50/68/6b7a22eaebc23438bba9d7c5cdab1cbc96379cfa55f61fdb7a904a07f9b9/rq-scheduler-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "55d294ab353aad4253f1ae2e1c807cab", "sha256": "9dc75c9d7ad9b946e1399fbe0c3bc99cb4cb0930791bb4256819bfa4d842cd5b" }, "downloads": -1, "filename": "rq-scheduler-0.3.5.tar.gz", "has_sig": false, "md5_digest": "55d294ab353aad4253f1ae2e1c807cab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9178, "upload_time": "2013-02-07T10:15:48", "url": "https://files.pythonhosted.org/packages/7a/c6/497bea138cb80d4dc705ca69e5622681f40508f0682cefe93035070d9338/rq-scheduler-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "26c0d7f5804b5dd8c587730b095141e9", "sha256": "f5a20d06a461d062e0529d651cf7225ff88833ac98f8b694ca1b54680617af41" }, "downloads": -1, "filename": "rq-scheduler-0.3.6.tar.gz", "has_sig": false, "md5_digest": "26c0d7f5804b5dd8c587730b095141e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9398, "upload_time": "2013-03-06T11:42:13", "url": "https://files.pythonhosted.org/packages/f0/ab/6de940027303a2c7e9cba50999755f4ee47a872802a08f22f8c5232a3b85/rq-scheduler-0.3.6.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "86405ef58cd3a82f5bdc4ce6fb9b2340", "sha256": "6a76656228d6a6ccb02145af5d42442c30443215dcb54d387b85c542ca7eb863" }, "downloads": -1, "filename": "rq_scheduler-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86405ef58cd3a82f5bdc4ce6fb9b2340", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12492, "upload_time": "2013-11-17T04:44:57", "url": "https://files.pythonhosted.org/packages/b1/e3/76a5d82f92739d09008b480aa6bac45e51766c9eb4a298aec1d651d09ab6/rq_scheduler-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc310c49f4e0276c2378edbc17cf0eda", "sha256": "365562d0acb404f2a4bcfca30b03911fea5e1018558868a8733432616ff219c1" }, "downloads": -1, "filename": "rq-scheduler-0.4.0.tar.gz", "has_sig": false, "md5_digest": "dc310c49f4e0276c2378edbc17cf0eda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9694, "upload_time": "2013-11-17T04:31:37", "url": "https://files.pythonhosted.org/packages/5e/6e/437789cde7fe0fb709c099b91fb6030ab86af2c1b76b2e9694034c45e69a/rq-scheduler-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "eb25011406e7001f3667a7d8c2f1a00d", "sha256": "d2096365fc8bd5d9e3065d9eea888c7ef75bf7d6b9ddee0469c0d100b8dc2a36" }, "downloads": -1, "filename": "rq-scheduler-0.5.0.tar.gz", "has_sig": false, "md5_digest": "eb25011406e7001f3667a7d8c2f1a00d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10545, "upload_time": "2014-04-04T09:44:54", "url": "https://files.pythonhosted.org/packages/4a/0e/5b7d9460be830af0a3e99c337b7198b3a677417e03c68497e15775fca13a/rq-scheduler-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "e4e1d68700536627ecfac44e98c9d4d0", "sha256": "afb428037b561c2f786a64ca035d975061752cc5511ccaeaeb426696c4b5f0b3" }, "downloads": -1, "filename": "rq_scheduler-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e4e1d68700536627ecfac44e98c9d4d0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13515, "upload_time": "2015-02-17T09:11:11", "url": "https://files.pythonhosted.org/packages/32/4a/0cdbfa665b4d776106706e962e1118afcb26716704bc82d6fb19954427f1/rq_scheduler-0.5.1-py2.py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "f2dee1497e7a53b6274dd3036f905c73", "sha256": "c534ec83a27d16c5b06d375ca9865c742a214a82a6a1d0c9de59687eaddcb843" }, "downloads": -1, "filename": "rq_scheduler-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f2dee1497e7a53b6274dd3036f905c73", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14928, "upload_time": "2016-03-14T11:55:58", "url": "https://files.pythonhosted.org/packages/c2/f8/20bffa6f82d62f91250d9de2a7f71cded36d3b8258e2b21da21946f64a5d/rq_scheduler-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc5c0cfae2defabd7f722c5627185c9e", "sha256": "60d1e0a87c2ebe44ac88abe67b37300d800937b70b21353572e2b9026e5bed36" }, "downloads": -1, "filename": "rq-scheduler-0.6.0.tar.gz", "has_sig": false, "md5_digest": "fc5c0cfae2defabd7f722c5627185c9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13855, "upload_time": "2016-03-14T11:55:49", "url": "https://files.pythonhosted.org/packages/f9/ca/147e4a3a070760730362b3570ae85b39d6406b9b5565f657e6dc774471d6/rq-scheduler-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "240b77e42390bcb70ca09aec4216bd60", "sha256": "12880fcbbb4bd426916f7fea8c6af4fb4bd707dfeb77f2790c9372250b21161d" }, "downloads": -1, "filename": "rq_scheduler-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "240b77e42390bcb70ca09aec4216bd60", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15273, "upload_time": "2016-05-06T04:21:01", "url": "https://files.pythonhosted.org/packages/46/e7/a11c9cb3756d5096e926d9e4fa69b4d93a11cb9a2421ed287323b4c173c4/rq_scheduler-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b793da7d9f1d4cf8402688abbd5f81e", "sha256": "e889bcf111361bf21d5093920a00d35a49c8e42a3e33281951bd11b5348e6ffd" }, "downloads": -1, "filename": "rq-scheduler-0.6.1.tar.gz", "has_sig": false, "md5_digest": "6b793da7d9f1d4cf8402688abbd5f81e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14159, "upload_time": "2016-05-06T04:20:51", "url": "https://files.pythonhosted.org/packages/a7/bd/94595478355e92f32ccbf4a38a17094d8a3daf668c3daf39099220b3f7f9/rq-scheduler-0.6.1.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "6e21700e7aba9d84db9dda29a1d29380", "sha256": "ae609515d408ebd33e7869fa0abe97ddb203b6ada0d6591531dbc9c4f0f8ac3c" }, "downloads": -1, "filename": "rq_scheduler-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e21700e7aba9d84db9dda29a1d29380", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15579, "upload_time": "2016-07-24T11:45:23", "url": "https://files.pythonhosted.org/packages/b7/52/0cbe6c529d5b079f54e2f1fa32a15bd9fbcb6e0c32d98f7ea9cbbda98a50/rq_scheduler-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7aa83aae7adcfdf22b3f225f9277e09e", "sha256": "c09048a3b64dedc12e16d08f441f093618a959c46f0f2f439897752c70a7f104" }, "downloads": -1, "filename": "rq-scheduler-0.7.0.tar.gz", "has_sig": false, "md5_digest": "7aa83aae7adcfdf22b3f225f9277e09e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14455, "upload_time": "2016-07-24T11:45:18", "url": "https://files.pythonhosted.org/packages/fb/85/f777fe3a7e5b22e4c15c820c6bb1fb4b923e22f557fbd57b72847995414e/rq-scheduler-0.7.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "40568c3a53d63ef80042f81be3884c43", "sha256": "cfbfda7415a5af5642ed934c22453713198e00ab730cdd277992f83829a9aa60" }, "downloads": -1, "filename": "rq_scheduler-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "40568c3a53d63ef80042f81be3884c43", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14789, "upload_time": "2018-02-04T11:25:41", "url": "https://files.pythonhosted.org/packages/4a/30/6e1d174fe4f898317c29cfaa8770e18ac050a66475c1281b268d143bcff4/rq_scheduler-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c846be9efbf97701e23725faea5c5e9", "sha256": "0a7b1ac5bf70b48a59f7b28a47114e85143c3cea4e05b89921038acf1971f6d1" }, "downloads": -1, "filename": "rq-scheduler-0.8.1.tar.gz", "has_sig": false, "md5_digest": "8c846be9efbf97701e23725faea5c5e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10813, "upload_time": "2018-02-04T11:25:37", "url": "https://files.pythonhosted.org/packages/5a/a7/dd03f14b991e4a1a6fdae6827a57ea7b02991d01d3d601f5aa738bc4e29a/rq-scheduler-0.8.1.tar.gz" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "1078fee821017d4f2ef31dd052427ee5", "sha256": "fe71cc657942605d44a1e8c4c8bf326c9dd907d4b2788fc8e48f7d89314645d6" }, "downloads": -1, "filename": "rq_scheduler-0.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1078fee821017d4f2ef31dd052427ee5", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14789, "upload_time": "2018-03-02T07:47:11", "url": "https://files.pythonhosted.org/packages/5f/e5/f07a6550ee0ff994d5ed762f1039d8f6be6fccb1bac52fffc39a50b712e6/rq_scheduler-0.8.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5116efc66060fc85bc7618a002d26e84", "sha256": "2bec9a04321d9f873480660d49a2fa09041a5d6fd7348dd267cd1c26c023dca3" }, "downloads": -1, "filename": "rq-scheduler-0.8.2.tar.gz", "has_sig": false, "md5_digest": "5116efc66060fc85bc7618a002d26e84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10823, "upload_time": "2018-03-02T07:47:08", "url": "https://files.pythonhosted.org/packages/3b/db/07969cf85cc17b7845c57f1e1597e187c8334fe86c5bbf77c46e782f5fe4/rq-scheduler-0.8.2.tar.gz" } ], "0.8.3": [ { "comment_text": "", "digests": { "md5": "a40b86867960ccae8602c93aee2a2a8c", "sha256": "6cad6b6d29eae55d4585e2ac9be3b8a36b3f18c87a494fc508a4fa19b9c845d6" }, "downloads": -1, "filename": "rq_scheduler-0.8.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a40b86867960ccae8602c93aee2a2a8c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14795, "upload_time": "2018-05-16T23:23:15", "url": "https://files.pythonhosted.org/packages/3f/ae/afc91dbc5cd90d85ec2f787d45eda1a4c602b64aa9860891ab5c7dcd426e/rq_scheduler-0.8.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b10803a998097f0c5c7d6e390e75151e", "sha256": "fc51da3d4ad1a047cada3b97a96afea21a3102ea5aa5b79ed2ea97d8ffdf8821" }, "downloads": -1, "filename": "rq-scheduler-0.8.3.tar.gz", "has_sig": false, "md5_digest": "b10803a998097f0c5c7d6e390e75151e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10828, "upload_time": "2018-05-16T23:23:11", "url": "https://files.pythonhosted.org/packages/0e/48/20eb776ecce4fff8ecb9344c441ce4e5180688b01ca2a4979c7414d1ddf9/rq-scheduler-0.8.3.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "1de592a8f8d2658285be207116341781", "sha256": "90eb3915e31cc2032c301e5ab1fd5ad6f23d9500435046995e009f098e18efbe" }, "downloads": -1, "filename": "rq_scheduler-0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1de592a8f8d2658285be207116341781", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15409, "upload_time": "2018-12-11T23:16:04", "url": "https://files.pythonhosted.org/packages/da/97/0180f3c327b2102cf1cfd32a248e6496478c8bd1619a78218aac0db46844/rq_scheduler-0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f2fc1e69fc8c7e6f78d938d73127654", "sha256": "ff7d45b34a8a39c9c83634f642aeef950641c75c4eeea3fa140bf574bfc6aca2" }, "downloads": -1, "filename": "rq-scheduler-0.9.tar.gz", "has_sig": false, "md5_digest": "3f2fc1e69fc8c7e6f78d938d73127654", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11235, "upload_time": "2018-12-11T23:16:06", "url": "https://files.pythonhosted.org/packages/84/70/24126f656da4e2845bd6ee09f7d149891ba64ec587e9b5f26109613e10f8/rq-scheduler-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "06bcc6e52dcbd38d9e60ebebd7ecb596", "sha256": "9f9f68d0a4749c83f023d903e148b81da2191229e25ac644a9ff9d6eac31bff4" }, "downloads": -1, "filename": "rq_scheduler-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "06bcc6e52dcbd38d9e60ebebd7ecb596", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11403, "upload_time": "2019-10-08T03:25:20", "url": "https://files.pythonhosted.org/packages/d8/03/b3f4da874e64965a37993ca911638c891a2b473173af186e58a8306c1879/rq_scheduler-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2669b9e94fd81cbd8f58696428f8080", "sha256": "06038a42d33d653f89d534ba3bb95694b9d82b39fdd17c6ac6d9bf77d1acdefb" }, "downloads": -1, "filename": "rq-scheduler-0.9.1.tar.gz", "has_sig": false, "md5_digest": "e2669b9e94fd81cbd8f58696428f8080", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11410, "upload_time": "2019-10-08T03:25:23", "url": "https://files.pythonhosted.org/packages/8e/b5/35911786cb91411a2b7984288ce9eb7435ff66a693ab35601aa550826298/rq-scheduler-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "06bcc6e52dcbd38d9e60ebebd7ecb596", "sha256": "9f9f68d0a4749c83f023d903e148b81da2191229e25ac644a9ff9d6eac31bff4" }, "downloads": -1, "filename": "rq_scheduler-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "06bcc6e52dcbd38d9e60ebebd7ecb596", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11403, "upload_time": "2019-10-08T03:25:20", "url": "https://files.pythonhosted.org/packages/d8/03/b3f4da874e64965a37993ca911638c891a2b473173af186e58a8306c1879/rq_scheduler-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2669b9e94fd81cbd8f58696428f8080", "sha256": "06038a42d33d653f89d534ba3bb95694b9d82b39fdd17c6ac6d9bf77d1acdefb" }, "downloads": -1, "filename": "rq-scheduler-0.9.1.tar.gz", "has_sig": false, "md5_digest": "e2669b9e94fd81cbd8f58696428f8080", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11410, "upload_time": "2019-10-08T03:25:23", "url": "https://files.pythonhosted.org/packages/8e/b5/35911786cb91411a2b7984288ce9eb7435ff66a693ab35601aa550826298/rq-scheduler-0.9.1.tar.gz" } ] }