295 Commits (92cf6f4696912e717965ce35c5670d5a83ec2d8f)

Author SHA1 Message Date
Aarni Koskela 92cf6f4696 Add waitpid() return value to workhorse error/log messages (#819)
* Refactor the inner part of the monitor_work_horse loop into a separate function

* Add waitpid() return value to workhorse error/log messages
9 years ago
Peter Featherstone a99d79187b Minor spelling mistake
Minor spelling update of `proccess` to `process`
9 years ago
Selwin Ong f6b4c286c9 Merge pull request #757 from jaywink/fix-unicode-decode-error
Fix UnicodeDecodeError when failing jobs
9 years ago
Samuel Colvin fd9babe8ce correct heroku worker exit logic
as per @Chronial's comment on b4b99f3
9 years ago
Jason Robinson 213969742e Fix UnicodeDecodeError when failing jobs
Worker handle_exception and move_to_failed_queue couldn't handle a situation where the exception raised had non-ascii characters. This caused a UnicodeDecodeError when trying to format the exception strings.

If on Python 2, ensure strings get decoded before building the exception string.

Closes #482
9 years ago
Selwin Ong 83007b2074 Merge pull request #786 from jezdez/backend-class-overrides
Allow passing backend classes from CLI and other APIs
9 years ago
Benjamin Root efb30b45a3 Take a different tack, and enable the exclusion of meta from saves 9 years ago
Benjamin Root 56c89c1334 Trigger a refresh after job execution
* Prevents clobbering of user-supplied metadata
  modified during the job execution
9 years ago
Jannis Leidel c019662430
Allow passing backend classes (job, queue, worker, connection) from CLI and other APIs
This includes:

- a partial refactor of the CLI to organize the shared options
- extends the tests in areas where passing custom backend classes makes sense
- allow setting the core CLI options as env vars
- minor cosmetic changes here and there
9 years ago
Samuel Colvin b4b99f30b0 allow for already dead horse on heroku worker termination 9 years ago
Stefan Hammer f9bff3d12b Merge branch 'master' into 739_fix_race_condition 9 years ago
Vincent Driessen af6ce54ea4 Fix PEP8 complaints 9 years ago
Stefan Hammer a0cee2d2a0 refactored worker code
Moved code into a new handle_job_success() method and reduced context of used
pipelines.
9 years ago
Stefan Hammer 67ae9277e5 completely pipelined enqueue_dependents 9 years ago
Stefan Hammer 7d267cf7ef implemented correct watch/multi/exec 9 years ago
Stefan Hammer 7b8d4e075e protecting dependency enqueuing with redis WATCH 9 years ago
Samuel Colvin bbf50f4893 use compat for PY2 test and add tests 10 years ago
Selwin Ong a0497a2bfb Merge pull request #727 from spiliopoulos/fix_failing_heroku_signal_handler
Fix request_force_stop_sigrtmin failing for python3
10 years ago
Yannis Spiliopoulos 7d0895ecf3 Small bugfix when checking python version 10 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
10 years ago
Yannis Spiliopoulos 1a9b36b19e Merge remote-tracking branch 'upstream/master' into fix_issue_702 10 years ago
Yannis Spiliopoulos b38aaab8a7 Inline unhandled failure handler 10 years ago
Yannis Spiliopoulos 14d8783212 Rename function 10 years ago
Yannis Spiliopoulos 9b774771db Fix style of conditional 10 years ago
Tom Wallis 89a380ef4b Added better signal name lookup 10 years ago
Yannis Spiliopoulos 08de4190e7 Dry the code. Export handling failed current job to a method 10 years ago
Yannis Spiliopoulos c4fd1659ea Fix docstring for monitor_work_horse 10 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.
10 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.
10 years ago
Samuel Colvin 7efd036a2c move ShutDownImminentException into exceptions.py 10 years ago
Samuel Colvin 0e26db9e08 correct wording in docstring and tests 10 years ago
Samuel Colvin 9f9c887645 better function names and process double SIGRTMIN 10 years ago
Samuel Colvin 2b544e5b17 add tests to HerokuWorker 10 years ago
Samuel Colvin e2f89b3171 fix for python 2.6 10 years ago
Samuel Colvin 18ba4658a4 adding heroku worker as per #584 10 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
10 years ago
Selwin Ong 766bb60006 Merge branch 'dependent-jobs-with-result-ttl' 10 years ago
Selwin Ong e9d227c3df Dependent jobs are now correctly enqueued even if their parent jobs have result_ttl=0. 10 years ago
amyangfei 724c844378 Don't call job.cancel if job has finished 10 years ago
Javier Lopez 3668c6f5d5 worker.py: Fix default logging_level 10 years ago
Selwin Ong 94dfb943b1 Merge pull request #690 from liorsbg/master
Fix for Issue #644
10 years ago
liorsbg 4c5d04105a Fix for #644 10 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
10 years ago
Javier Lopez 43cb51064a Allow Worker work method to specify the log verbosity 10 years ago
Chris Curvey 4326e19140 have worker use the passed-in connection if provided 10 years ago
zfz 0492eaef01 Fix the mistypo of logger str for procline. 10 years ago
Antoine Leclair 81679a35d9 Merge branch 'master' into custom-queue-class
Conflicts:
	tests/test_worker.py
10 years ago
VicarEscaped 01bd0cebd6 Update job status with set_status 10 years ago
Antoine Leclair 05ed85804c Worker accepts custom queue class 10 years ago
Selwin Ong 640b2e31a0 Merge pull request #633 from olingerc/warmshutdown
Save date on which a busy worker receives a warm shutdown request
10 years ago