Commit Graph
988 Commits
Author SHA1 Message Date
Ilan Steemers 7d437ea5cf Merge pull request #353 from maerteijn/fix-mysql-naive-datetime-in-scheduler
Fix issue when using USE_TZ=False with MySQL
2019-08-10 14:16:11 +02:00
Ilan Steemers cfeceb497d Merge pull request #356 from lamby/import-error-issue-331
Inline import to prevent circular imports under some toolchain combinations
2019-08-10 14:14:30 +02:00
Ilan Steemers a72b8171ec Merge pull request #363 from wgordon17/patch-1
Remove and re-add task.id field instead of alter
2019-08-10 14:13:43 +02:00
Ilan Steemers c00fa22aea Merge pull request #355 from tylerharper/patch-1
fix spelling of careful
2019-08-10 14:06:32 +02:00
Ilan Steemers 16fa6fa8d9 Fixes deprecated arrow syntax 2019-08-10 14:03:03 +02:00
Ilan Steemers 918a1b2208 Updates test requirements 2019-08-10 14:02:43 +02:00
Will Gordon c037f405de Remove and replace task.id field, instead of Alter 2019-06-04 20:51:51 -04:00
Chris Lamb 5c8243903f Inline import to prevent circular imports under some toolchain combinations. (Closes: #331) 2019-04-26 09:19:21 +01:00
Tyler Harper 3882f1c4d4 fix spelling of careful
Fixed spelling of careful
2019-04-24 14:19:48 -04:00
Martijn Jacobs c0cda97864 Don't save the next_run field as TZ aware when USE_TZ is False
arrow always returns a tz aware datetime, and we don't want this when we explicitly configured django with USE_TZ=False. This causes issues with MySQL.
2019-04-17 15:02:20 +02:00
Ilan Steemers c84fd11a67 Merge pull request #337 from jannero/timer-handling
Fix concurrency issue in timeout timer value processing
2019-02-11 13:28:50 +01:00
Ilan Steemers d3f42b46d4 Merge pull request #340 from jannero/retry-documentation
Document the behaviour of retry value properly
2019-02-11 13:25:08 +01:00
Janne Rönkkö d55d33ce27 Document the behaviour of retry value properly
This issue has been reported many times in Django-Q's issue tracker:
https://github.com/Koed00/django-q/issues/183
https://github.com/Koed00/django-q/issues/180
https://github.com/Koed00/django-q/issues/307

All these issue have been closed and responses have noted that retry should
be set bigger than timeout or duration of any task.
2019-02-06 16:49:09 +02:00
Janne Rönkkö bca22054df Fix concurrency issue in timeout timer value processing
According to multiprocessing documentation for Value
(https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Value)
reads and writes are protected with lock when the lock argument is True
(the default) or the lock argument is an instance of Lock or RLock. The
documentation states that operations like += are not atomic as that
involves reading and writing.

On the worker side the critical section includes also storing finished task
result because the timeout could happen after the task function has
finished but before the result has been stored and timer.value has been
updated to tell the guard process that the task has been finished.

On the guard side the critical section includes all checks done to see
if the worker has timed out or died and the actual reincarnation function
because the worker could update timer value to -1 (idle) or -2 (recycle)
after the guard has seen timer value 0 (timeout) and is going to terminate
the worker.
2019-01-28 08:39:56 +02:00
Ilan Steemers 44d963b716 Merge pull request #327 from mattaw/master
Modified django_q imports to support Python 3.4 again in cluster.py. …
2019-01-27 18:34:30 +01:00
Ilan Steemers 2824fed230 Merge pull request #334 from jannero/test-docs
Document how to run tests on your computer
2019-01-27 18:33:37 +01:00
Ilan Steemers 9611423732 Merge pull request #336 from jannero/timeout
Timeout handling fix and improvements to related tests
2019-01-27 18:26:51 +01:00
Janne Rönkkö 0e2df88d92 Fix async_task timeout parameter handling when cluster timeout is set to None (the default)
The cluster timeout configuration default value None is documented to mean
tasks never timeout out. Also the documentation states that the timeout
can be overridden for individual tasks.

With the old implementation the timeout parameter given to async_task was
not honored if the cluster timeout was set to None.

Fixes: #335
2019-01-27 19:09:22 +02:00
Janne Rönkkö 2e7bf60ff4 Document how to run tests on your computer 2019-01-27 16:49:42 +02:00
Janne Rönkkö 2650659da9 Allow timeout unit tests to fail properly
The old implementation used count_forever test task that never finishes.
If the timeout implementation does not work in the test, the test never
end and you was required to kill the test runner.
2019-01-27 15:35:17 +02:00
Janne Rönkkö d09e2658be Add test for task finishes before timeout 2019-01-27 15:35:17 +02:00
Janne Rönkkö 888324cf48 Reduce code duplication in timeout unit tests 2019-01-26 20:44:31 +02:00
Ilan Steemers 7ffb3e4da2 Merge pull request #330 from Koed00/package_updates_01_19
Updates django version and packages
2019-01-16 15:29:53 +01:00
Ilan Steemers 782a2ddcf5 Updates django version for travis
updates packages
2019-01-16 15:03:01 +01:00
Matthew Swabey e84be5f33b Modified django_q imports to support Python 3.4 again in cluster.py. Closes #315 2018-12-09 12:28:04 -05:00
Ilan Steemers 2ec7507de9 Updates django version for travis 2018-10-31 11:54:01 +01:00
Ilan Steemers bcfcd5f390 Updates version compatibility in docs 2018-10-31 11:53:27 +01:00
Ilan Steemers 64cba4243a Adds django-q-email to addons section 2018-10-31 11:53:10 +01:00
Ilan Steemers e6e2946c03 Use python 3.6 for readthedocs 2018-10-31 11:29:35 +01:00
Ilan Steemers d32251ad2f Adds read the docs yml 2018-10-31 11:28:23 +01:00
Ilan Steemers 9955a53083 Updates requirements 2018-10-31 08:22:38 +01:00
Ilan Steemers e68cf52515 Updates version 2018-08-29 19:03:53 +02:00
Ilan Steemers 7d675e2ba2 Updates boto and django-picklefield 2018-08-29 18:57:59 +02:00
Ilan Steemers f5753bf4c3 Updates boto, certifi and urllib3 2018-08-26 20:44:12 +02:00
Ilan Steemers 309600a312 Removes Python 3,4 for now 2018-08-19 17:22:38 +02:00
Ilan Steemers 5174d7a398 Updates boto 2018-08-19 17:21:48 +02:00
Ilan Steemers 2b4f82afd7 Updates boto and psutil 2018-08-16 10:12:15 +02:00
Ilan Steemers b26534de40 Mention locales 2018-08-15 21:38:46 +02:00
Ilan Steemers 2ec6994545 Merge pull request #312 from tboulogne/master
Add locale directory with fr translation
2018-08-15 20:02:23 +02:00
Ilan Steemers 3604cf66c9 No more universal wheels 2018-08-14 13:28:33 +02:00
Ilan Steemers bd7bec3711 Punctuation 2018-08-14 12:30:41 +02:00
Ilan Steemers 865f04717a Removes donation menu 2018-08-14 12:29:27 +02:00
Ilan Steemers fb8da040b4 Add warning about asyn_task refactor 2018-08-14 12:26:50 +02:00
Ilan Steemers 35ba23de89 Merge pull request #310 from Koed00/python37
Python 3.7 support and deprecation of Python 2 and older Django versions -
2018-08-14 12:17:52 +02:00
Ilan Steemers 239345a5ec Updates boto and certifi 2018-08-14 11:59:09 +02:00
Ilan Steemers 570944775a Update version in docs 2018-08-14 11:58:07 +02:00
Ilan Steemers 4076795dc3 truncate error description in admin
Also removes old conditional imports
2018-08-13 18:50:35 +02:00
Ilan Steemers 83de4c28c7 Updates setup conf 2018-08-10 13:36:31 +02:00
Ilan Steemers b5a01a9e93 Removes old rollbar support - relies on the pluggable error reporters now 2018-08-10 13:03:58 +02:00
Ilan Steemers 48ffdd96eb Updates packages for testing 2018-08-10 12:55:28 +02:00