summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Attempt to fix hmset command for Redis < 4.0hmsetSelwin Ong2020-05-231-2/+9
|
* Remove Python 2.7 from setup.pySelwin Ong2020-05-161-2/+0
|
* Bump version to 1.4.1v1.4.1Selwin Ong2020-05-162-1/+5
|
* Use pickle.HIGHEST_PROTOCOL by default (#1254)Bo Bayles2020-05-162-3/+19
|
* Avoid deprecation warnings on redis-py 3.5.0 hmset (#1253)Bo Bayles2020-05-163-5/+15
|
* Merge branch 'master' of github.com:rq/rqSelwin Ong2020-05-131-9/+4
|\
| * Remove extraneous try/except (#1247)Michael Angeletti2020-05-131-9/+4
| | | | | | The exception handling block was raising the caught exception in-place, which caused the original traceback info to be lost. Rather than replace `raise e` with `raise`, I simply removed the whole try / except, since no action was being taken in the except block.
* | Bump version to 1.4.0v1.4.0Selwin Ong2020-05-133-2/+10
|/
* Slightly increase job key timeout in monitor_work_horse()Selwin Ong2020-05-101-1/+1
|
* Parse job_id as keyword argument to delay() (#1236) (#1243)grayshirt2020-05-101-1/+2
|
* Fix typo in scheduling doc (#1245)Vincent Jacques2020-05-101-1/+1
|
* Always set job.started_at in monitor_work_horse (#1242)rmartin482020-05-101-1/+1
| | | Co-authored-by: Russell Martin <russell@divipay.io>
* Fix some code quality issues (#1235)Prajjwal Nijhara2020-05-034-3/+16
|
* Add the queue to the Redis queues set when scheduling a job (#1238)Pierre Mdawar2020-04-241-5/+7
| | | | | * Add the queue to the queues set when scheduling a job * Fix the registry properties docstrings
* Accept lowercase logging level names and accept tuples when setting ↵Pierre Mdawar2020-04-162-2/+4
| | | | | | | exception handlers (#1233) * Accept lowercase logging level names * Accept both lists and tuples when setting Worker exception_handlers
* Implement Customizable Serializer Support (#1219)Babatunde Olusola2020-04-1613-87/+190
| | | | | | | | | | | | | | | | | | | | | | | | | * Implement Customizable Serializer Support * Refractor serializer instance methods * Update tests with other serializers * Edit function description * Edit function description * Raise appropriate exception * Update tests for better code coverage * Remove un-used imports and un-necessary code * Refractor resolve_serializer * Remove un-necessary alias from imports * Add documentation * Refractor tests, improve documentation
* Add sentry_debug and sentry_ca_certs params (#1229)Paweł Bąk2020-04-133-8/+17
| | | Co-authored-by: pawel bak <p.bak@inteliclinic.com>
* FailedJobRegistry.requeue() resets job.started_at and job.ended_at (#1227)Selwin Ong2020-04-015-11/+17
|
* registry.cleanup() now writes information to job.exc_info (#1226)Selwin Ong2020-03-313-1/+3
|
* Remove unused code (#1214)Selwin Ong2020-03-091-24/+0
|
* Bump version to 1.3.0v1.3.0Selwin Ong2020-03-092-1/+8
|
* fixing HerokuWorkerShutdownTestCase after #1194 (#1213)Samuel Colvin2020-03-092-3/+7
|
* Properly decode hostname in job.refresh()Selwin Ong2020-03-081-1/+1
|
* enqueue_at should support explicit args and kwargs (#1211)Selwin Ong2020-03-082-27/+51
|
* Pass job ID to error handlers (#1201)Seamus Mac Conaonaigh2020-02-281-0/+1
| | | | | The worker handles exceptions in the job outside of the job's own context, so an exception handler / logger cannot call `get_current_job()` to obtain the job ID. The job ID can be used to locate the job in the failed job registry, which allows useful behaviors such as linking to a failed job on a dashboard in an error report. Closes #1192.
* fix kill_horse will cause zombie processes (#1194)wevsty2020-02-251-0/+2
| | | | | | | | * fix kill_horse will cause zombie processes fix issue #1193 * Update tips message
* Merge branch 'master' of github.com:rq/rqSelwin Ong2020-02-251-0/+6
|\
| * Add rq.cli.__main__ (#1196)Bo Bayles2020-02-251-0/+6
| |
* | Updated job.result docs.Selwin Ong2020-02-251-6/+2
|/
* Fix simple typo: constrast -> contrast (#1200)Tim Gates2020-02-251-1/+1
| | | Closes #1199
* fix code tag in connections.md (#1189)Ryan Febriansyah2020-02-252-2/+2
| | | | | | * Update connections.md * Update testing.md
* Respect timeout -1 in worker hard kill (#1187)Zach Kanzler2020-02-251-1/+1
|
* Show job scheduling section on docs websiteSelwin Ong2020-02-121-0/+2
|
* Fix typos in job_registries.md (#1185)Levin Rickert2020-02-031-3/+3
|
* Bump version to 1.2.2v1.2.2Selwin Ong2020-01-312-1/+4
|
* Fixes Job.fetch when return value is unpickleable (#1184)Selwin Ong2020-01-313-6/+19
| | | | | | * Fixes Job.fetch when return value is unpickleable * Fixed connection test in newer versions of Redis
* Bump version to 1.2.1v1.2.1Selwin Ong2020-01-312-1/+6
|
* Add job status setting in enqueue_at (and in enqueue_in) methods (#1181)Ivan Kiryanov2020-01-234-5/+30
| | | | | | | | | * Add job status setting in enqueue_at (and in enqueue_in) methods Update tests for this change Closes: #1179 * Add status param to create_job func, rework enqueue_at status setting
* Failed jobs will now auto expire (#1182)Selwin Ong2020-01-212-18/+17
|
* Bump version to 1.2.0Selwin Ong2020-01-212-1/+2
|
* Add a hard kill from the parent process with a 10% increased timeout … (#1169)mr-trouble2020-01-192-0/+36
| | | | | | | | * Add a hard kill from the parent process with a 10% increased timeout in case the forked process gets stuck and cannot stop itself. * Added test for the force kill of the parent process. * Changed 10% to +1 second, and other misc changes based on review comments.
* fix: use correct logging handler for scheduler (#1178)Florian Perucki2020-01-192-4/+9
|
* Job scheduling (#1163)Selwin Ong2020-01-0418-57/+943
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First RQScheduler prototype * WIP job scheduling * Fixed Python 2.7 tests * Added ScheduledJobRegistry.get_scheduled_time(job) * WIP on scheduler's threading mechanism * Fixed test errors * Changed scheduler.acquire_locks() to instance method * Added scheduler.prepare_registries() * Somewhat working implementation of RQ scheduler * Only call stop_scheduler if there's a scheduler present * Use OSError rather than ProcessLookupError for PyPy compatibility * Added `auto_start` argument to scheduler.acquire_locks() * Make RQScheduler play better with timezone * Fixed test error * Added --with-scheduler flag to rq worker CLI * Fix tests on Python 2.x * More Python 2 fixes * Only call `scheduler.start` if worker is run in non burst mode * Fixed an issue where running worker with scheduler would fail sometimes * Make `worker.stop_scheduler()` more resilient to errors * worker.dequeue_job_and_maintain_ttl() should also periodically run maintenance tasks * Scheduler can now work with worker in both burst and non burst mode * Fixed scheduler logging message * Always log scheduler errors when running * Improve scheduler error logging message * Removed testing code * Scheduler should periodically try to acquire locks for other queues it doesn't have * Added tests for scheduler.should_reacquire_locks * Added queue.enqueue_in() * Fixes queue.enqueue_in() in Python 2.7 * First stab at documenting job scheduling * Remove unused methods * Remove Python 2.6 logging compatibility code * Remove more unused imports * Added convenience methods to access job registries from queue * Added test for worker.run_maintenance_tasks() * Simplify worker.queue_names() and worker.queue_keys() * Updated changelog to mention RQ's new job scheduling mechanism.
* Travis CI: sudo: deprecated and Xenial is default (#1175)Christian Clauss2020-01-041-4/+1
|
* Add example for unix:// (#1171)goldstar6112019-12-181-1/+1
|
* Updated changelogSelwin Ong2019-12-161-1/+1
|
* Updated changelogSelwin Ong2019-12-161-0/+8
|
* fix log level parameter override, Fixes #1166 (#1167)Yongtao Zhang2019-12-161-0/+4
|
* Added a note to indicate that `registry.remove(job, delete_job=True)` is newSelwin Ong2019-11-261-0/+2
|
* Multi Dependency Support - Registration & Enqueue Call (#1155)Thomas Matecki2019-11-264-46/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Multi Dependency Support - Registration & Enqueue Call Internal API changes to support multiple dependencies. * Store all of a job's _dependencies_ in a redis set. Delete that set when a job is deleted. * Add Job#fetch_dependencies method - which return all jobs a job is dependent upon and optionally _WATCHES_ all dependency ids. * Use Job#fetch_dependencies in Queue#call_enqueue. `fetch_dependencies` now sets WATCH and raises InvalidJobDependency, rather than call_enqueue. `Queue` and `Job` public APIs still expect single ids of jobs for `depends_on` but internally register them in a way that could support multiple jobs being passed as dependencies. Next up: need to update Queue#enqueue_dependents * Use existing fetch_many method to get dependencies. Modify fetch_dependencies to use fetch_many. * Remove default value for fetch_many's connection parameter * PR review housekeeping * Remove a duplicate test * Oneline something * Fix missing colon in dependencies key * Delete job key, dependents and dependencies at once * More Fixes From Code Review Updates to Job, Queue and associated tests. * When Checking dependencies Avoid, trip to Redis * When checking the status of a job, we have a 'clean' status of all dependencies(returned from Job#fetch_dependencies) and the job keys are WATCHed, so there's no reason to go back to Redis to get the status _again_. * Looks as though, the `_status` set in `Job#restore` was bytes while it was converted to text(`as_text`) in `Job#get_status` - for consistency(and tests) converting to text in `restore` as well. * In `Queue#enqueue_call`, moved WATCH of dependencies_key to before fetching dependencies. This doesn't really matter but seems more _correct_ - one can imagine some rogue API adding a dependency after they've been fetched but before they've been WATCHEed. * Update Job#get_status to get _local_ status * If refresh=False is passed, don't get status from Redis; return the value of _status. This is to avoid a trip to Redis if the caller can guarantee that the value of `_status` is _clean_. * More Fixups * Expire dependency keys in Job#cleanup * Consistency in Job#fetch_dependencies