Commit Graph
533 Commits
Author SHA1 Message Date
Ilan Steemers 5d3f9fd916 Getting ready for 1.2.4 2020-06-10 11:46:50 +02:00
Ilan Steemers 142af91fbe Merge pull request #446 from Djailla/migration
Add missing migration for django-picklefield
2020-06-10 11:14:34 +02:00
Bastien Vallet ff4836fc7b Add a missing migration
Required by django-picklefield major update
2020-06-10 11:06:13 +02:00
Ilan Steemers 56982bdd26 Adding back sdist to fix issues with optional extras 2020-05-31 19:43:18 +02:00
Ilan Steemers 25b3c47e5f Getting ready for 1.2.2 2020-05-28 14:49:40 +02:00
Ilan Steemers a6eda43c72 Merge pull request #428 from hhyo/hhyo-patch-1
Fix issue when using USE_TZ=False with MySQL
2020-05-27 17:49:38 +02:00
Ilan Steemers bef944af61 Merge pull request #440 from maerteijn/fix-database-router
Fix issues when using multiple databases with a database router
2020-05-27 17:48:20 +02:00
Martijn Jacobs f0546bc91c Lock the Scheduler model for the database it's using
This can happen when you use a database router for example
2020-05-01 17:30:19 +02:00
Martijn Jacobs 85a9f33ac0 Check for the right database when querying for get_autocommit 2020-05-01 17:29:27 +02:00
小圈圈 25d1e3e3a0 Fix issue when using USE_TZ=False with MySQL #353 2020-04-15 20:57:27 +08:00
Ryan Branche d7d0b0dfb4 Add unit test for sync=True change.
When sync=True, re-raise exceptions from the worker.
2020-02-28 14:47:28 -08:00
Ryan Branche 2f14c122e4 When sync=True, re-raise exceptions from the worker.
This commit adds code to detect if the task is running synchronously in
the worker and re-raise exceptions that were originally raised by the
underlying task function.
2020-02-28 14:26:20 -08:00
Ilan a6052f5a6a Getting ready for 1.2.1 2020-02-18 20:24:38 +01:00
Ilan 7c31c2408c Replaces format with f-strings 2020-02-18 18:47:05 +01:00
Ilan 0bca3cbd7a Replacing format with f-strings 2020-02-17 16:59:12 +01:00
Ilan 17c1e2b651 Getting ready for 1.2.0 2020-02-17 13:09:18 +01:00
Jason McVetta 35848cc80d fix typo 2020-02-13 18:17:00 +07:00
Jason McVetta 93a8c3520c truncate cluster_id from the other end 2020-02-12 18:56:54 +07:00
Jason McVetta aa51413d81 cast cluster_id UUID to str 2020-02-12 18:52:45 +07:00
Jason McVetta abc8b397fc Revert "wider column for cluster_id, and cast to string"
This reverts commit a37d3b7af0.
2020-02-12 18:52:25 +07:00
Jason McVetta 7f9f6c3a04 Revert "terminal position"
This reverts commit db70d14754.
2020-02-12 18:52:24 +07:00
Jason McVetta db70d14754 terminal position 2020-02-12 18:51:41 +07:00
Jason McVetta a37d3b7af0 wider column for cluster_id, and cast to string 2020-02-12 18:50:46 +07:00
Jason McVetta cb01620a5d truncate cluster_id UUID to fit column 2020-02-12 18:43:31 +07:00
Jason McVetta 4529c38067 log cluster_id instead of pid 2020-02-12 18:26:53 +07:00
Jason McVetta 14a602ee8b use both pid and cluster_id 2020-02-12 18:23:47 +07:00
Jason McVetta d22c916bfc add cluster_id to Sentinel 2020-02-12 17:53:52 +07:00
Jason McVetta ea30c1d43f add UUID4-based cluster_id 2020-02-12 17:41:10 +07:00
Djailla d8524e8d42 [py27] Remove last traces of py27 2020-01-27 17:15:10 +01:00
Kevin Lord 0d9ebf94ee Fix startup error in AWS Lambda 2020-01-20 22:39:40 -06:00
Ilan Steemers 3389e00f09 Preparing v1.1.0 2020-01-18 11:09:35 +01:00
Ilan Steemers 681375364d Merge pull request #393 from ossobv/sync
Preserve database connection when sync=True
2020-01-17 15:34:46 +01:00
Ilan Steemers 850e6e5452 Merge pull request #399 from theunraveler/ugettext
Replacing `ugettext_` functions with `gettext_` for Django 3
2020-01-17 15:32:27 +01:00
valentinogagliardi c12e6184eb add test for Redis URL 2020-01-12 20:10:06 +01:00
valentinogagliardi fa1082ff96 ability to use a Redis connection URI - closes #402 2020-01-12 13:13:41 +01:00
Jake Bell dc65f5e1de Replacing ugettext_ functions with gettext_ for Django 3 2020-01-07 15:57:37 -06:00
Harm Geerts 66588a28e7 Preserve database connection when sync=True
When tasks run synchronously django-q should only affect the calling
context by running the tasks.
Fixes https://github.com/Koed00/django-q/issues/326
2019-11-27 12:37:31 +01:00
Ilan Steemers c27938ee62 Merge pull request #333 from tremby/fix-timeout-override
Fix timeout override
2019-08-13 14:16:03 +02:00
Martijn Jacobs 924ff928b0 Lock the Schedule objects to ensure tasks are created once
Tested this with PostgreSQL and MySQL
2019-08-12 14:28:26 +02:00
Martijn Jacobs abaa0ba39b Don't call the scheduler twice: respect Conf.SCHEDULER 2019-08-12 14:27:56 +02:00
Ilan Steemers 5ca8b753fd Bump version 2019-08-10 14:43:30 +02:00
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 16fa6fa8d9 Fixes deprecated arrow syntax 2019-08-10 14:03:03 +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
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
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