279 Commits (83f81b351d5a62b016111c1742d0fa7dd2c772c0)

Author SHA1 Message Date
Samuel Colvin bbf50f4893 use compat for PY2 test and add tests 9 years ago
Selwin Ong a0497a2bfb Merge pull request #727 from spiliopoulos/fix_failing_heroku_signal_handler
Fix request_force_stop_sigrtmin failing for python3
9 years ago
Yannis Spiliopoulos 7d0895ecf3 Small bugfix when checking python version 9 years ago
Yannis Spiliopoulos 2e30c4016b Fix request_force_stop_sigrtmin failing for python3
request_force_stop_sigrtmin would fail for python3 because it would
try to read frame attributes that have been removed in python3

This patch fixes that by reading more fram attributes only for
python2
9 years ago
Yannis Spiliopoulos 1a9b36b19e Merge remote-tracking branch 'upstream/master' into fix_issue_702 9 years ago
Yannis Spiliopoulos b38aaab8a7 Inline unhandled failure handler 9 years ago
Yannis Spiliopoulos 14d8783212 Rename function 9 years ago
Yannis Spiliopoulos 9b774771db Fix style of conditional 9 years ago
Tom Wallis 89a380ef4b Added better signal name lookup 9 years ago
Yannis Spiliopoulos 08de4190e7 Dry the code. Export handling failed current job to a method 9 years ago
Yannis Spiliopoulos c4fd1659ea Fix docstring for monitor_work_horse 9 years ago
Yannis Spiliopoulos f9d5897922 Solves issue 702
In order to solve issue 702 we have to check whether a work-horse
terminated unexpectedly (by inspecting the exit code of the work-horse
process). If it exited unexpectedly we check if the job has either been
marked as finished, failed or other valid states. If it's not in any
valid state we mark it as failed and move it to the failed queue.
Since the process was terminated unexpectedly (think OOM) we do not
have any exception context and we can't run any custom exception handlers.

There is still a chance that the job will finish successfully but the
work-horse process will be killed before the job is marked as finished
and we will erroneously mark it as failed. The users should take care
to write idempotent jobs.
9 years ago
Yannis Spiliopoulos 93d286a6c7 Split execute job to expose issue 702
In order to create a test for issue 702 we had to split execute_job
to a fork_work_horse function and a monitor_work_horse function.
9 years ago
Samuel Colvin 7efd036a2c move ShutDownImminentException into exceptions.py 9 years ago
Samuel Colvin 0e26db9e08 correct wording in docstring and tests 9 years ago
Samuel Colvin 9f9c887645 better function names and process double SIGRTMIN 9 years ago
Samuel Colvin 2b544e5b17 add tests to HerokuWorker 9 years ago
Samuel Colvin e2f89b3171 fix for python 2.6 9 years ago
Samuel Colvin 18ba4658a4 adding heroku worker as per #584 9 years ago
Arnold Krille acbcea0c66 Add the workers connection to _connection_stack
This allows jobs to use get_current_connection() with a resolvable connection.
And then these jobs can schedule new jobs for example (my use-case). Or attach
information to their job-object.

Also pop the pushed connection after running the jobs. This is needed for some
tests that check the _connection_stack afterwards;-) And also for use-cases
where the workers are used multiple times.

fixes nvie/rq#479
9 years ago
Selwin Ong 766bb60006 Merge branch 'dependent-jobs-with-result-ttl' 9 years ago
Selwin Ong e9d227c3df Dependent jobs are now correctly enqueued even if their parent jobs have result_ttl=0. 9 years ago
amyangfei 724c844378 Don't call job.cancel if job has finished 9 years ago
Javier Lopez 3668c6f5d5 worker.py: Fix default logging_level 9 years ago
Selwin Ong 94dfb943b1 Merge pull request #690 from liorsbg/master
Fix for Issue #644
9 years ago
liorsbg 4c5d04105a Fix for #644 9 years ago
Selwin Ong cd0414361c Merge pull request #687 from jlopex/javi/allow_quiet_worker_class
Allow Worker work method to specify the log verbosity
9 years ago
Javier Lopez 43cb51064a Allow Worker work method to specify the log verbosity 9 years ago
Chris Curvey 4326e19140 have worker use the passed-in connection if provided 9 years ago
zfz 0492eaef01 Fix the mistypo of logger str for procline. 9 years ago
Antoine Leclair 81679a35d9 Merge branch 'master' into custom-queue-class
Conflicts:
	tests/test_worker.py
9 years ago
VicarEscaped 01bd0cebd6 Update job status with set_status 9 years ago
Antoine Leclair 05ed85804c Worker accepts custom queue class 9 years ago
Selwin Ong 640b2e31a0 Merge pull request #633 from olingerc/warmshutdown
Save date on which a busy worker receives a warm shutdown request
9 years ago
orangain e8165fdddf Accept byte strings as the first argument of Worker() in Python 2
This make it easy to write Python 2/3 compatible code.
e.g.

    Worker(sys.argv[1:])

    # Without from __future__ import unicode_literals
    Worker(['high', 'normal', 'low'])
9 years ago
Christophe Olinger 2be468a404 - Rename paramter both in redis and python to shutdown_requested_date
- Use connection instead of pipeline
9 years ago
Christophe Olinger ae27ce9871 Merge branch 'master' into warmshutdown 9 years ago
Christophe Olinger 3e586bd6d6 Add remove current_job based on the correct upstream master branch 9 years ago
Christophe Olinger d622f47aff Save date in redis on which worker receives a warm shutdown request while busy 9 years ago
SkyLothar f9978bc27c make sure state text_type 9 years ago
Selwin Ong 45addbcaf2 Deleted job.set_started_at_now. 9 years ago
Selwin Ong 5afd1a90e5 Merge pull request #589 from samuelcolvin/job-started_at
add job.started_at
9 years ago
Samuel Colvin 6fc34dc6a6 moving started_at to prepare_job_execution 9 years ago
Michael Keirnan 14723ecc1f Merge remote-tracking branch 'upstream/master' 9 years ago
glaslos a424d320a8 log.info added when cleaning registries 9 years ago
horida 04987a80da mark as busy before forking horse 9 years ago
Selwin Ong 95f740299a Merge pull request #588 from samuelcolvin/logging-extras
more info in 'Job OK' log entry
9 years ago
Samuel Colvin 082e61a212 add job.started_at 9 years ago
Samuel Colvin 30c29614c6 more info in 'Job OK' log entry 9 years ago
Samuel Colvin e750134e8a move request_(force_)stop out of _install_signal_handlers 9 years ago