1611 Commits (d813ea5e18b3e467db17d18b364ee96bc06dded3)
 

Author SHA1 Message Date
Selwin Ong a09a2ab3b4 Merge branch 'master' of github.com:rq/rq 4 years ago
Selwin Ong 20248cf268 Bump version to 1.5.1 4 years ago
Selwin Ong 6028a63607
Restores compatibility with fakeredis (#1324) 4 years ago
Selwin Ong f0afcd3cb3
Create coverage.yml 4 years ago
Selwin Ong 39fb709c10
get_redis_server_version() should handle 4 digit version numbers (#1322) 4 years ago
nerok 7bf100ebe7
Allow retries to be set through decorator (#1319)
Co-authored-by: Didrik Koren <didrik.koren@uninett.no>
4 years ago
Ruslan Mullakhmetov c2931b45b6
handled unhandled exceptions in horse (#1303)
* handled unhandled exceptions in horse to prevent a job from being silently dropped without going into FailedRegistry

* changes after review

* made sure that work_horse always terminates in a proper way with tests

* minor refactoring

* fix for failing test

* fixes for the other tests

- removed exception handling (done in monitor_work_horse)
- adjusted some tests for the checks that are not relevant anymore

* review suggested changes

* cleanup

Co-authored-by: Ruslan Mullakhmetov <ruslan@twentythree.net>
4 years ago
Selwin Ong 57f286eac4 Minor doc fix 4 years ago
Selwin Ong 265e4b76ab
log messages < error is now output to stdout instead of stderr (#1312) 4 years ago
Aaron Tainter 5cee02d83f
Use correct logger name for scheduler and lower level for heartbeat logs (#1311) 4 years ago
Selwin Ong 167ab96070 Slightly tweaked docs CSS 4 years ago
Selwin Ong dff7a09a1d Fixed Github Pages build 4 years ago
Selwin Ong f3c86c02c6 Bump version to 1.5.0 4 years ago
Zhicheng Cai a62b762200
Update index.md (#1306) 4 years ago
Selwin Ong 49b156ecc7
Job retry feature. Docs WIP (#1299)
* Initial implementation of Retry class

* Fixes job.refresh() under Python 3.5

* Remove the use of text_type in job.py

* Retry can be scheduled

* monitor_work_horse() should call handle_job_failure() with queue argument.

* Flake8 fixes

* Added docs for job retries
4 years ago
David Murray 8a0d9f91ff
Fix incorrect worker timeout calculation in SimpleWorker.execute_job (#1304)
In our systems, this bug seemed the be the cause of the disappearing workers: worker keys would get a very small TTL in Redis and would eventually expire, thus mysteriously "disappearing" from dashboards.
4 years ago
wevsty 4e1eb97056
Split kill_house() fix issues #1234 (#1300)
* Split kill_house() fix issues #1234

Details View issues #1234

* Removing the catch finally

* rename wait_horse() to wait_for_horse()

* rename wait_horse() to wait_for_horse()

* update test_handle_shutdown_request()

Change test_handle_shutdown_request() exitcode assert

* Restore kill_horse() output

* optimization wait_for_horse()
5 years ago
Selwin Ong 5d199df85d
Fix scheduler on Python 3.8 (#1302)
* Fix scheduler on Python 3.8

* Use Python 3.8.3 for test
5 years ago
Paul Spooren 361db4aa83
Add redis_server_version to worker/job/queue (#1286)
The variable contains the server version and allows to determine
available features. This is relevant for API changes like HSET mappings
in version 4.0.0 or LPOS in version 6.0.6.

To keep the number of connection.info() calls low, the information is
*cached* once determined, as a server version unlikely changes while
keeping the connection up.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years ago
mbarkhau 3902962aac
Python 2.7 supported dropped in 1.4.0 (CHANGES.md) (#1295)
With revision 02eb983e90 the `python_requires` was set to `3.4`
5 years ago
Paul Spooren 2775185374
CI: Only test redis-py 3.5.0 (#1294)
Only test on major versions to reduce number of tests.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years ago
Paul Spooren 8904757d7e
Replace travis with GitHub action (#1290)
* CI: replace travis with GitHub action matrix

The GitHub action runs the same tests as travis however using a more
complex matrix:

Python versions: 3.5, 3.6, 3.7, 3.8
Python 3.4 is dropped by redis-py, therefore not required in the tests.

Redis versions: 3, 4, 5, 6
The different Redis versions offer different features and this allows
checks for compatibility.

redis-py versions: 3.5.0, 3.5.3
3.5.0 is the oldest supported version, 3.5.3 is the latest upstream
verison

Signed-off-by: Paul Spooren <mail@aparcar.org>

* CI: Add flake8 lint action

This actions runs `flake8` and shows style problems of the code. It uses
th GitHub default options which handle most problems as warnings. These
rules could become slowly more strict.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years ago
Paul Spooren 8432a916bd
setup: Set min Python version to 3.5 (#1291)
As `redis-py` in version 3.5.0 is now required, whoch only support
Python 3.5+, we should remove Python 3.4 from the supported Python
versions as well.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years ago
Paul Spooren 0b55981631
Improve requirements handling (#1287)
* setup: read requirements.txt for dependencies

This makes it easier to keep required packages in sync.

Signed-off-by: Paul Spooren <mail@aparcar.org>

* requirements: Update to click 5.0 and redis 3.5.0

Click 5.0 was already required by the `setup.py` and is not brought in
sync. Redis Python library 3.5.0 introduces the `HSET` command with
mapping support which replaces the previous `hmset`. By lifting the
minimal required version to 3.5.0 we can remove the combat function if
Redis server 4.0 is guaranteed.

Signed-off-by: Paul Spooren <mail@aparcar.org>

* ci: remove Python3.4 testing

`redis-py` 3.5.0 does no longer support Python 3.4, so drop it in CI.

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years ago
Konstantin Schubert b334a00f07
Fix comment in registry.py (#1285) 5 years ago
Selwin Ong c3a6b537de Bump version in version.py 5 years ago
Selwin Ong 819c61be9b Bump version to 1.4.3 5 years ago
Selwin Ong 34eec5fee5
worker.register_birth() should set a slightly longer worker key TTL (#1284) 5 years ago
Pranav Gupta 2fdff2471c
updated readme with link to monitoring dashboards (#1274)
* updated readme with link to monitoring dashboards

* added links to more rq related projects
5 years ago
Paul Spooren 73506b26fc
Add get_job_position and get_position feature (#1271)
Fix #1197

Signed-off-by: Paul Spooren <mail@aparcar.org>
5 years ago
Paul Spooren e8795f941a
Delete run_tests (#1281)
The file is obsolete and `pytest` should be used directly.
5 years ago
Selwin Ong 1d8ea8e7a3
Worker key TTLs are set to be a bit longer to account for system hiccups (#1279)
* Worker key TTLs are set to be a bit longer to account for system hiccups

* Fix test_work_horse_force_death
5 years ago
JhonnyBn 6eec0065df
Truncate job args/kwargs to a reasonable length (#1277)
* Truncate job args/kwargs to a reasonable length

* fix
5 years ago
ericatkin 29222ea12f
Job.requeue() doesn't return the job (#1265) 5 years ago
Selwin Ong 23d43874b6 Bump version to 1.4.2 5 years ago
Selwin Ong 6a9aa1f81a
Attempt to fix hmset command for Redis < 4.0 (#1260)
* Attempt to fix hmset command for Redis < 4.0

* Temporarily commented out hset(key, mapping) for backward compatibility reasons.
5 years ago
Evan Ackmann bd0fcc1a07
Took into account DST when computing localtime zones. This wasn't ac… (#1258)
* Took into account DST when computing localtime zones.  This wasn't accounted for when using non-UTC datetimes with queue.enqueue_at()

* Updates tests with mocked timezones to test both scenarios
5 years ago
Selwin Ong 91a22949c6
Merge pull request #1259 from rq/multi-dependencies
Multi dependencies
5 years ago
Selwin Ong ec2f8cb4ed Don't try to import cPickle 5 years ago
Selwin Ong 21bf5890c0 Merge remote-tracking branch 'origin/master' into multi-dependencies 5 years ago
Selwin Ong 52e426f40f Remove Python 2.7 from setup.py 5 years ago
Selwin Ong 4d450ec94d Bump version to 1.4.1 5 years ago
Bo Bayles f0846a7645
Use pickle.HIGHEST_PROTOCOL by default (#1254) 5 years ago
Bo Bayles 5859339a51
Avoid deprecation warnings on redis-py 3.5.0 hmset (#1253) 5 years ago
thomas 33e4beacf4 pipeline calls to get dependency statuses 5 years ago
Selwin Ong e6e5703f28 Merge branch 'master' of github.com:rq/rq 5 years ago
Selwin Ong 02eb983e90 Bump version to 1.4.0 5 years ago
Michael Angeletti 6ab6a0a573
Remove extraneous try/except (#1247)
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.
5 years ago
Selwin Ong 9d6f38df0e Slightly increase job key timeout in monitor_work_horse() 5 years ago
grayshirt d8dea02081
Parse job_id as keyword argument to delay() (#1236) (#1243) 5 years ago