diff options
author | Selwin Ong <selwin.ong@gmail.com> | 2023-05-01 12:44:32 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-01 12:44:32 +0700 |
commit | 64cb1a27b9d1f2fd52bbbb5c1e4518c024f74685 (patch) | |
tree | fc792e7d75de99843bb130cd0acdfeced6d91ec0 /rq/serializers.py | |
parent | 8a9daecaf2c6ff542ec1e4be7d8ec9ae4c8b803c (diff) | |
download | rq-64cb1a27b9d1f2fd52bbbb5c1e4518c024f74685.tar.gz |
Worker pool (#1874)
* First stab at implementating worker pool
* Use process.is_alive() to check whether a process is still live
* Handle shutdown signal
* Check worker loop done
* First working version of `WorkerPool`.
* Added test for check_workers()
* Added test for pool.start()
* Better shutdown process
* Comment out test_start() to see if it fixes CI
* Make tests pass
* Make CI pass
* Comment out some tests
* Comment out more tests
* Re-enable a test
* Re-enable another test
* Uncomment check_workers test
* Added run_worker test
* Minor modification to dead worker detection
* More test cases
* Better process name for workers
* Added back pool.stop_workers() when signal is received
* Cleaned up cli.py
* WIP on worker-pool command
* Fix test
* Test that worker pool ignores consecutive shutdown signals
* Added test for worker-pool CLI command.
* Added timeout to CI jobs
* Fix worker pool test
* Comment out test_scheduler.py
* Fixed worker-pool in burst mode
* Increase test coverage
* Exclude tests directory from coverage.py
* Improve test coverage
* Renamed `Pool(num_workers=2) to `Pool(size=2)`
* Revert "Renamed `Pool(num_workers=2) to `Pool(size=2)`"
This reverts commit a1306f89ad0d8686c6bde447bff75e2f71f0733b.
* Renamed Pool to WorkerPool
* Added a new TestCase that doesn't use LocalStack
* Added job_class, worker_class and serializer arguments to WorkerPool
* Use parse_connection() in WorkerPool.__init__
* Added CLI arguments for worker-pool
* Minor WorkerPool and test fixes
* Fixed failing CLI test
* Document WorkerPool
Diffstat (limited to 'rq/serializers.py')
-rw-r--r-- | rq/serializers.py | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rq/serializers.py b/rq/serializers.py index b9b7d9c..96de3f5 100644 --- a/rq/serializers.py +++ b/rq/serializers.py @@ -1,7 +1,7 @@ from functools import partial import pickle import json -from typing import Optional, Union +from typing import Optional, Type, Union from .utils import import_attribute @@ -21,7 +21,7 @@ class JSONSerializer: return json.loads(s.decode('utf-8'), *args, **kwargs) -def resolve_serializer(serializer=None): +def resolve_serializer(serializer: Optional[Union[Type[DefaultSerializer], str]] = None) -> Type[DefaultSerializer]: """This function checks the user defined serializer for ('dumps', 'loads') methods It returns a default pickle serializer if not found else it returns a MySerializer The returned serializer objects implement ('dumps', 'loads') methods |