duolabmeng6 / pyefun

pyefun 为python提供强大且易用的中文函数库,完整的封装了易语言核心支持库所有功能,以及易语言中简单易用的函数
Apache License 2.0
167 stars 34 forks source link

Pin apscheduler to latest version 3.7.0 #25

Closed pyup-bot closed 3 years ago

pyup-bot commented 3 years ago

This PR pins apscheduler to the latest release 3.7.0.

Changelog ### 3.6.1 ``` ----- * Fixed OverflowError on Qt scheduler when the wait time is very long * Fixed methods inherited from base class could not be executed by processpool executor (PR by Yang Jian) ``` ### 3.6.0 ``` ----- * Adapted ``RedisJobStore`` to v3.0 of the ``redis`` library * Adapted ``RethinkDBJobStore`` to v2.4 of the ``rethink`` library * Fixed ``DeprecationWarnings`` about ``collections.abc`` on Python 3.7 (PR by Roman Levin) ``` ### 3.5.3 ``` ----- * Fixed regression introduced in 3.5.2: Class methods were mistaken for instance methods and thus were broken during serialization * Fixed callable name detection for methods in old style classes ``` ### 3.5.2 ``` ----- * Fixed scheduling of bound methods on persistent job stores (the workaround of scheduling ``YourClass.methodname`` along with an explicit ``self`` argument is no longer necessary as this is now done automatically for you) * Added the FAQ section to the docs * Made ``BaseScheduler.start()`` raise a ``RuntimeError`` if running under uWSGI with threads disabled ``` ### 3.5.1 ``` ----- * Fixed ``OverflowError`` on Windows when the wait time is too long * Fixed ``CronTrigger`` sometimes producing fire times beyond ``end_date`` when jitter is enabled (thanks to gilbsgilbs for the tests) * Fixed ISO 8601 UTC offset information being silently discarded from string formatted datetimes by adding support for parsing them ``` ### 3.5.0 ``` ----- * Added the ``engine_options`` option to ``SQLAlchemyJobStore`` * Added the ``jitter`` options to ``IntervalTrigger`` and ``CronTrigger`` (thanks to gilbsgilbs) * Added combining triggers (``AndTrigger`` and ``OrTrigger``) * Added better validation for the steps and ranges of different expressions in ``CronTrigger`` * Added support for named months (``jan`` – ``dec``) in ``CronTrigger`` month expressions * Added support for creating a ``CronTrigger`` from a crontab expression * Allowed spaces around commas in ``CronTrigger`` fields * Fixed memory leak due to a cyclic reference when jobs raise exceptions (thanks to gilbsgilbs for help on solving this) * Fixed passing ``wait=True`` to ``AsyncIOScheduler.shutdown()`` (although it doesn't do much) * Cancel all pending futures when ``AsyncIOExecutor`` is shut down ``` ### 3.4.0 ``` ----- * Dropped support for Python 3.3 * Added the ability to specify the table schema for ``SQLAlchemyJobStore`` (thanks to Meir Tseitlin) * Added a workaround for the ``ImportError`` when used with PyInstaller and the likes (caused by the missing packaging metadata when APScheduler is packaged with these tools) ``` ### 3.3.1 ``` ----- * Fixed Python 2.7 compatibility in ``TornadoExecutor`` ``` ### 3.3.0 ``` ----- * The asyncio and Tornado schedulers can now run jobs targeting coroutine functions (requires Python 3.5; only native coroutines (``async def``) are supported) * The Tornado scheduler now uses TornadoExecutor as its default executor (see above as for why) * Added ZooKeeper job store (thanks to Jose Ignacio Villar for the patch) * Fixed job store failure (``get_due_jobs()``) causing the scheduler main loop to exit (it now waits a configurable number of seconds before retrying) * Fixed ``scheduled_job`` not working when serialization is required (persistent job stores and ``ProcessPoolScheduler``) * Improved import logic in ``ref_to_obj()`` to avoid errors in cases where traversing the path with ``getattr()`` would not work (thanks to Jarek Glowacki for the patch) * Fixed CronTrigger's weekday position expressions failing on Python 3 * Fixed CronTrigger's range expressions sometimes allowing values outside the given range ``` ### 3.2.0 ``` ----- * Added the ability to pause and unpause the scheduler * Fixed pickling problems with persistent jobs when upgrading from 3.0.x * Fixed AttributeError when importing apscheduler with setuptools < 11.0 * Fixed some events missing from ``apscheduler.events.__all__`` and ``apscheduler.events.EVENTS_ALL`` * Fixed wrong run time being set for date trigger when the timezone isn't the same as the local one * Fixed builtin ``id()`` erroneously used in MongoDBJobStore's ``JobLookupError()`` * Fixed endless loop with CronTrigger that may occur when the computer's clock resolution is too low (thanks to Jinping Bai for the patch) ``` ### 3.1.0 ``` ----- * Added RethinkDB job store (contributed by Allen Sanabria) * Added method chaining to the ``modify_job()``, ``reschedule_job()``, ``pause_job()`` and ``resume_job()`` methods in ``BaseScheduler`` and the corresponding methods in the ``Job`` class * Added the EVENT_JOB_SUBMITTED event that indicates a job has been submitted to its executor. * Added the EVENT_JOB_MAX_INSTANCES event that indicates a job's execution was skipped due to its maximum number of concurrently running instances being reached * Added the time zone to the repr() output of ``CronTrigger`` and ``IntervalTrigger`` * Fixed rare race condition on scheduler ``shutdown()`` * Dropped official support for CPython 2.6 and 3.2 and PyPy3 * Moved the connection logic in database backed job stores to the ``start()`` method * Migrated to setuptools_scm for versioning * Deprecated the various version related variables in the ``apscheduler`` module (``apscheduler.version_info``, ``apscheduler.version``, ``apscheduler.release``, ``apscheduler.__version__``) ``` ### 3.0.6 ``` ----- * Fixed bug in the cron trigger that produced off-by-1-hour datetimes when crossing the daylight saving threshold (thanks to Tim Strazny for reporting) ``` ### 3.0.5 ``` ----- * Fixed cron trigger always coalescing missed run times into a single run time (contributed by Chao Liu) * Fixed infinite loop in the cron trigger when an out-of-bounds value was given in an expression * Fixed debug logging displaying the next wakeup time in the UTC timezone instead of the scheduler's configured timezone * Allowed unicode function references in Python 2 ``` ### 3.0.4 ``` ----- * Fixed memory leak in the base executor class (contributed by Stefan Nordhausen) ``` ### 3.0.3 ``` ----- * Fixed compatibility with pymongo 3.0 ``` ### 3.0.2 ``` ----- * Fixed ValueError when the target callable has a default keyword argument that wasn't overridden * Fixed wrong job sort order in some job stores * Fixed exception when loading all jobs from the redis job store when there are paused jobs in it * Fixed AttributeError when printing a job list when there were pending jobs * Added setuptools as an explicit requirement in install requirements ``` ### 3.0.1 ``` ----- * A wider variety of target callables can now be scheduled so that the jobs are still serializable (static methods on Python 3.3+, unbound methods on all except Python 3.2) * Attempting to serialize a non-serializable Job now raises a helpful exception during serialization. Thanks to Jeremy Morgan for pointing this out. * Fixed table creation with SQLAlchemyJobStore on MySQL/InnoDB * Fixed start date getting set too far in the future with a timezone different from the local one * Fixed _run_job_error() being called with the incorrect number of arguments in most executors ``` ### 3.0.0 ``` ----- * Added support for timezones (special thanks to Curtis Vogt for help with this one) * Split the old Scheduler class into BlockingScheduler and BackgroundScheduler and added integration for asyncio (PEP 3156), Gevent, Tornado, Twisted and Qt event loops * Overhauled the job store system for much better scalability * Added the ability to modify, reschedule, pause and resume jobs * Dropped the Shelve job store because it could not work with the new job store system * Dropped the max_runs option and run counting of jobs since it could not be implemented reliably * Adding jobs is now done exclusively through ``add_job()`` -- the shortcuts to triggers were removed * Added the ``end_date`` parameter to cron and interval triggers * It is now possible to add a job directly to an executor without scheduling, by omitting the trigger argument * Replaced the thread pool with a pluggable executor system * Added support for running jobs in subprocesses (via the ``processpool`` executor) * Switched from nose to py.test for running unit tests ``` ### 2.1.0 ``` ----- * Added Redis job store * Added a "standalone" mode that runs the scheduler in the calling thread * Fixed disk synchronization in ShelveJobStore * Switched to PyPy 1.9 for PyPy compatibility testing * Dropped Python 2.4 support * Fixed SQLAlchemy 0.8 compatibility in SQLAlchemyJobStore * Various documentation improvements ``` ### 2.0.3 ``` ----- * The scheduler now closes the job store that is being removed, and all job stores on shutdown() by default * Added the ``last`` expression in the day field of CronTrigger (thanks rcaselli) * Raise a TypeError when fields with invalid names are passed to CronTrigger (thanks Christy O'Reilly) * Fixed the persistent.py example by shutting down the scheduler on Ctrl+C * Added PyPy 1.8 and CPython 3.3 to the test suite * Dropped PyPy 1.4 - 1.5 and CPython 3.1 from the test suite * Updated setup.cfg for compatibility with distutils2/packaging * Examples, documentation sources and unit tests are now packaged in the source distribution ``` ### 2.0.2 ``` ----- * Removed the unique constraint from the "name" column in the SQLAlchemy job store * Fixed output from Scheduler.print_jobs() which did not previously output a line ending at the end ``` ### 2.0.1 ``` ----- * Fixed cron style jobs getting wrong default values ``` ### 2.0.0 ``` ----- * Added configurable job stores with several persistent back-ends (shelve, SQLAlchemy and MongoDB) * Added the possibility to listen for job events (execution, error, misfire, finish) on a scheduler * Added an optional start time for cron-style jobs * Added optional job execution coalescing for situations where several executions of the job are due * Added an option to limit the maximum number of concurrently executing instances of the job * Allowed configuration of misfire grace times on a per-job basis * Allowed jobs to be explicitly named * All triggers now accept dates in string form (YYYY-mm-dd HH:MM:SS) * Jobs are now run in a thread pool; you can either supply your own PEP 3148 compliant thread pool or let APScheduler create its own * Maximum run count can be configured for all jobs, not just those using interval-based scheduling * Fixed a v1.x design flaw that caused jobs to be executed twice when the scheduler thread was woken up while still within the allowable range of their previous execution time (issues 5, 7) * Changed defaults for cron-style jobs to be more intuitive -- it will now default to all minimum values for fields lower than the least significant explicitly defined field ``` ### 1.11.0 ``` - Add task decorator. Thanks [jscurtu](https://github.com/jscurtu) for the PR. ``` ### 1.10.1 ``` - Add LICENSE file to the package. ``` ### 1.10.0 ``` - Add SCHEDULER_ENDPOINT_PREFIX setting to control the endpoint name. Thanks [andreicalistru](https://github.com/andreicalistru). - Set SCHEDULER_API_PREFIX default value to '/scheduler'. Thanks [andreicalistru](https://github.com/andreicalistru). ``` ### 1.9.0 ``` - Add SCHEDULER_API_PREFIX to control the endpoint url. Thanks [FrEaKmAn](https://github.com/FrEaKmAn) for the PR. - Fix issue 75 ``` ### 1.8.0 ``` - Add property to get the state of the scheduler. - Deprecate delete_job/delete_all_jobs in favor of remove_job/remove_all_jobs ``` ### 1.7.1 ``` - Add possibility to resume the scheduler in paused state. ``` ### 1.7.0 ``` - Add methods to pause and resume scheduler. ``` ### 1.6.0 ``` - Add support for authentication to the API. - Add support for event listeners to the scheduler. ``` ### 1.5.0 ``` - Set a min version for all the dependencies (Issue 18) ``` ### 1.4.0 ``` - Upgrade APScheduler to the version 3.2.0 - Add new method to remove all jobs. Thanks [JWhy](https://github.com/JWhy). ``` ### 1.3.7 ``` - Updated jobs were not being rescheduled (Issue 14) ``` ### 1.3.6 ``` - Allow updating the trigger over the REST API (Issue 14) ``` ### 1.3.5 ``` - Bug fix 9 ``` ### 1.3.4 ``` - Set a custom JSONEncoder to serialize date and datetime classes. ``` ### 1.3.3 ``` - Improve json parsing ``` ### 1.3.2 ``` - Bug fix ``` ### 1.3.1 ``` - Make compatible with python 2.7 ``` ### 1.3.0 ``` - Change APIs Pause, Resume and Run to execute only with HTTP POST - Bug fix ``` ### 1.2.1 ``` - Improve serialization and deserialization of triggers ``` ### 1.2.0 ``` - Add REST API to add a new job - Add REST API to delete a job - Add REST API to update a job - Add REST API to pause a job - Add REST API to resume a job ``` ### 1.01 ``` ---- * Fixed a corner case where the combination of hour and day_of_week parameters would cause incorrect timing for a cron trigger Changelog This changelog is used to track all major changes to django-apscheduler. ``` ### 1.1.0 ``` - Add new configuration attribute called SCHEDULER_VIEWS_ENABLED, default is False. From this version, the views are not loaded anymore by default. - Add more parameters to the job definition. ``` ### 0.5.1 ``` **Fixes** - Pin dependency to APScheduler < 4.0, which appears to be introducing some [backwards incompatible changes](https://github.com/agronholm/apscheduler/issues/465). - Update readme to clarify the need for ensuring that a single scheduler is run in your Django application until APScheduler 4.0 arrives and django-apscheduler is migrated to make use of that version. - Update authors section in `setup.py`. - Don't try to log job executions for jobs that are no longer available in the job store. This was partially fixed previously as part of [116](https://github.com/jarekwg/django-apscheduler/issues/116), which only catered for 'execution' type of events. This fix resolves the issue for the remaining 'submitted' and 'error' events as well (Fixes [121](https://github.com/jarekwg/django-apscheduler/issues/121)). ``` ### 0.5.0 ``` **Enhancements** - Add ability to trigger a scheduled job manually from the `DjangoJobAdmin` page (Resolves [102](https://github.com/jarekwg/django-apscheduler/issues/102)). - The `register_job` decorator has been deprecated. Please use APScheduler's `add_job()` method or `scheduled_job` decorator instead (Resolves [119](https://github.com/jarekwg/django-apscheduler/pull/119)). **Fixes** - Don't try to log job executions for jobs that are no longer available in the job store (Fixes [116](https://github.com/jarekwg/django-apscheduler/issues/116)). ``` ### 0.4.2 ``` **Fixes** - Fix mapping of event listener APScheduler codes to event classes (Fixes [98](https://github.com/jarekwg/django-apscheduler/issues/98)). ``` ### 0.4.1 ``` **Fixes** - Drop use of `of` parameter in `select_for_update`, which is not supported by MariaDB and MySQL (Fixes [94](https://github.com/jarekwg/django-apscheduler/issues/94)). ``` ### 0.4.0 ``` **Enhancements** - Drop support for Python 2.7, convert codebase to Python 3.6+. - CI: drop coverage for Python 2.7 and Django <= 2.1, which are no longer maintained upstream. - CI: add coverage for Python 3.7 and 3.8, as well as Django long term support (LTS) and the latest released versions. - CI: un-pin dependency on agronholm/apscheduler149, which has since been merged and released upstream. - Rename Django `test_settings.py` file to prevent collision with actual test scripts. - Clean up unused dependencies / update dependencies to latest available versions. - Switch to Black code formatting. - Align package layout with official [Django recommendations](https://docs.djangoproject.com/en/dev/intro/reusable-apps/#packaging-your-app) - Move UI-related `DjangoJobExecution.html_status` out of model definition and in to the associated model admin definition. - Add `help_text` to model fields to document their use. - Remove unused code fragments. - Add Python type annotations. - Implement various Django best practices for QuerySet management and model instance creation / updates. - Drop `DjangoJob.name` field in favor of aligning with using APScheduler's `id` field. NOTE: please run your Django migrations again - might take a while depending on the number of `DjangoJobExecutions` in your database. - Acquire a DB lock when updating `DjangoJob` or `DjangoJobExecution` instances. This should be safer for multi-threaded usage. - Switch to using `BigAutoField` for `DjangoJobExecution`'s primary keys. This should prevent running out of usable ID's for deployments with a very large number of job executions in the database (Resolves [36](https://github.com/jarekwg/django-apscheduler/issues/36)). - Implement `DjangoJob.shutdown()` method to close database connection when scheduler is shut down. - `jobstores.register_events` has been deprecated and will be removed in a future release. Calling this method is no longer necessary as the `DjangoJobStore` will automatically register for events that it cares about when the scheduler is started. - Ensure that Django and APScheduler always use the same timezones when passing datetimes between the two. - Use the configured scheduler's locking mechanism to keep the creation of `DjangoJobExecution` in sync with APScheduler events. - Update README on recommended usage, which includes using a `BlockingScheduler` with a custom Django management command instead of running a `BackgroundScheduler` directly in a Django application. - Remove `ignore_database_error` decorator. All database errors will be raised so that users can decide on the best course of action for their specific use case (Resolves [79](https://github.com/jarekwg/django-apscheduler/issues/79)). - Remove `DjangoJobManager`: users should be allowed to manage the DB connection themselves based on their implementation-specific use case. See the official Django recommendations at: https://code.djangoproject.com/ticket/21597#comment:29. - Add AUTHORS file. - Increase test coverage. - Remove the `DjangoJobExecution.started` field. It appears that APScheduler only fires an event when the job is submitted to the scheduler (not when job execution actually starts). We now calculate the job `duration` as the elapsed time in seconds between the scheduled `run_time` and when we receive the `events.EVENT_EXECUTED` APScheduler event. **Fixes** - Fix PEP8 code formatting violations. - Implement locking mechanism to prevent duplicate `DjangoJobExecution`s from being created (Fixes [28](https://github.com/jarekwg/django-apscheduler/issues/28), [#30](https://github.com/jarekwg/django-apscheduler/issues/30), [#44](https://github.com/jarekwg/django-apscheduler/issues/44)). - `DjangoJobStore.add_job` now raises a `ConflictingIdError` if a job with that particular ID already exists in the job store. This aligns with the behavior expected by the APScheduler interface. Use the `replace_existing` parameter to update existing jobs instead. ``` ### 0.3.1 ``` - Various bug fixes (see commit history for changes). ``` ### 0.3.0 ``` - Added timezone support when rendering datetimes; dropped support for django1.8 (Fixes [43](https://github.com/jarekwg/django-apscheduler/issues/43) - thanks jcass77). - Added model manager for deleting old job executions (Fixes [58](https://github.com/jarekwg/django-apscheduler/issues/58) - thanks jcass77). ``` ### 0.2.13 ``` - Fixed exception when removing failed jobs (Fixes [33](https://github.com/jarekwg/django-apscheduler/issues/33)). - Accounted for `dt` coming in as `None` into `serialize_dt` (Fixes [35](https://github.com/jarekwg/django-apscheduler/issues/35)). ``` ### 0.2.12 ``` - Fix of [26](https://github.com/jarekwg/django-apscheduler/issues/26). ``` ### 0.2.10 ``` - This release covers this PR [23](https://github.com/jarekwg/django-apscheduler/issues/23), thanks to nialllo ``` ### 0.2.9 ``` - Now `add_job` with duplicated job `id` will refresh job in database instead of raising an exception. ``` ### 0.2.8 ``` - Fixed bug [20](https://github.com/jarekwg/django-apscheduler/issues/20). - Changed logger from `default` to `django_apscheduler`. - Added `on_error_value` into `ignore_database_error` (to return empty array instead of `None` in some methods). - Added django==1.8 test env in tox.ini ``` ### 0.2.7 ``` - Fixed issue (Fixes [18](https://github.com/jarekwg/django-apscheduler/issues/18)). - Added check whether `connections.connection` is `None`. ``` ### 0.2.6 ``` - This release closes bugs described in (Fixes [15](https://github.com/jarekwg/django-apscheduler/issues/15)). - After updating, please run `./manage.py migrate django_apscheduler` to apply the latest database changes. ``` ### 0.2.5 ``` - Fix [13](https://github.com/jarekwg/django-apscheduler/issues/13). - Added exception handling when system tables doesn't exists ``` ### 0.2.3 ``` - Underscore changed to hyphen in pypi package name. ``` ### 0.2.2 ``` - Django 2.x support. Pre-releases - The project did not tag a number of pre-release versions. Changelog ```
Links - PyPI: https://pypi.org/project/apscheduler - Changelog: https://pyup.io/changelogs/apscheduler/ - Repo: https://github.com/agronholm/apscheduler - Docs: https://pythonhosted.org/APScheduler/