37 Commits

Author SHA1 Message Date
tugofpeas
97ea3c89a5 Postpone SECRET_KEY evaluation to the qcluster command execution (#332)
* Suppress ImproperlyConfigured within Conf, allowing the exception to be raised specifically during the 'qcluster' command instead.

This ensures build scripts and workflows can freely execute other Django commands (e.g., 'python manage.py collectstatic') without failing due to a missing/empty secret key.

* Closes #279

Co-authored-by: Tug of Peas <19413623+tugofpeas@users.noreply.github.com>
2026-08-09 03:20:51 +02:00
Stan Triepels
7fb7fca176 Move worker, scheduler, pusher and monitor to separate files (#100) 2023-07-02 02:47:05 +02:00
sinowood
52c04217e9 Multiple queue, multiple cluster in one site (#71)
* Support for multi-queue, multi-cluster configuration. API changes include:
  * Adding `cluster` to async_task() parameters and Task model
  * Adding argument --name to qcluster command
  * Necessary adjustments to Conf and Broker classes
  * Some admin improvements

* Add settings.Q_CLUSTER['ALT_CLUSTERS']: q_cluster config overrides for alternative clusters;
Add Conf.CLUSTER_NAME: separate usage from Conf.PREFIX;
QueueAdmin/OrmQ detail page enhanced: now displaying args/kwargs/q_options instead of encrypted payload.

* if `cluster` argument is not set (the default), async_task() and schedule() will be handled by the default cluster; Documentation update.

* Text cleanup

* Documentation update.

* Fix TIMEOUT setting in Windows for non-default cluster

---------

Co-authored-by: Stan Triepels <1939656+GDay@users.noreply.github.com>
2023-04-02 16:36:17 +02:00
Ilan Steemers
15155c7a99 Build improvements (#569)
* Black linting

* Adding Black to dev dependencies and upping minimal python to 3.6.2 for compatibility

* Updating packages

* Removing pip-tools input and exporting requirements with poetry

* Deleting old setup files and test runner

* Trying 1.3.7

* Looser extras requirements to prevent conflicts

* Sorted imports with isort

* Added iSort to dev dependencies

* Fixes localtime for naive setups
2021-05-30 17:10:07 +02:00
Kenny Heinonen
728a1b85d0 Add "qmemory" command (#553)
* Add qmemory command

* Update README, add test

* Redesign qmemory

* Add optional argument to show each worker's memory usage

* Add --workers argument to test_qmemory
2021-05-14 13:44:40 +02:00
Ilan Steemers
e6f82c5158 test model unicode 2020-06-30 22:00:31 +02:00
Ilan
7c31c2408c Replaces format with f-strings 2020-02-18 18:47:05 +01:00
Jake Bell
dc65f5e1de Replacing ugettext_ functions with gettext_ for Django 3 2020-01-07 15:57:37 -06:00
ilan
e84422530b Fixes merge conflicts 2017-04-05 16:44:21 +03:00
Ilan Steemers
d58c31e103 Replaces optparse with argparse for commands 2016-06-07 16:43:51 +02:00
Ilan Steemers
44fce5ff03 linted 2015-10-07 17:08:05 +02:00
Ilan Steemers
680aac8405 adds version and hides None values for qinfo config 2015-10-07 17:06:50 +02:00
Ilan Steemers
1222285107 Adds --config option to qinfo command
Outputs current configuration constants
2015-09-15 21:39:38 +02:00
Ilan
e86308b434 adds qinfo management command
It seems more practical to give this its own command instead of `qmonitor --info`
2015-08-10 13:20:17 +02:00
Ilan
79393dee16 adds --info summary to monitor command 2015-08-09 19:29:24 +02:00
Ilan
91520e9ca7 removes some unused test code 2015-07-16 17:26:08 +02:00
Ilan
80887ffd9c Django 1.7 doesn't like argparse for management commands.
Changed to optparse for compatibility
2015-07-16 15:54:38 +02:00
Ilan
5a3f875baa Added management commands to tests
* added --run-once option to the management commands for testing
2015-07-16 15:17:15 +02:00
Ilan Steemers
27cfe5eb86 fixed relative import 2015-07-03 15:13:19 +02:00
Ilan Steemers
b113a52825 Restructured all the modules
The core module was becoming too large.
By splitting it in  cluster, monitor and tasks it becomes more manageable. It also reflects the documentation structure.
2015-07-03 15:12:11 +02:00
Ilan Steemers
482569b312 Rework - configuration now in class - better stop handling under heavy load. - scheduler test - better monitoring - better status reporting 2015-06-30 10:58:24 +02:00
Ilan Steemers
d94b631e40 Limited hostname width in monitor 2015-06-29 11:36:30 +02:00
Ilan Steemers
9593ad9f1d Added Recycling to workers 2015-06-28 14:27:43 +02:00
Ilan Steemers
b0e738d31b Passing the redis connection around the cluster to reduce connections 2015-06-27 20:03:32 +02:00
Ilan Steemers
6314742343 simple test for monitor 2015-06-25 13:29:06 +02:00
Ilan Steemers
99a44dda45 simple test for monitor 2015-06-25 13:22:16 +02:00
Ilan Steemers
065f2dc5aa Django's timezone is back since it can't conflict with JsonPickle anymore 2015-06-24 22:57:21 +02:00
Ilan Steemers
7dea114b18 cleaned imports 2015-06-24 12:39:54 +02:00
Ilan Steemers
a7ab7e9d71 cleaned imports 2015-06-24 12:38:37 +02:00
Ilan Steemers
c91fd0f022 monitor now has a little color and columns 2015-06-24 11:44:47 +02:00
Ilan Steemers
0ed1da8f05 Refactoring to make testing more stable 2015-06-23 21:12:08 +02:00
Ilan Steemers
97a4b27f68 Added rudimentary terminal monitor 2015-06-23 20:54:23 +02:00
Ilan Steemers
90b5b0d6ab moved static methods to module functions
medic is now sentinel and runs in it's own process
sentinel shutdown procedure more stable
2015-06-18 14:10:48 +02:00
Ilan Steemers
62bfb7bdc1 Delete testq.py 2015-06-17 21:39:47 +02:00
Ilan Steemers
c8d2927dd2 restructured app and added task signing 2015-06-17 13:33:46 +02:00
Ilan Steemers
093431e88d Lots of stuff
- changed to single monitor for success and failures
- result is now in django model
- started addings tests
2015-06-16 19:03:00 +02:00
Ilan Steemers
8c0a26e0b4 Testing basic layout 2015-06-15 16:02:50 +02:00