863 Commits (d4261f165cb30e03b80d3bc64524ce7a68bbc4c4)

Author SHA1 Message Date
Selwin Ong 3666f4987e Merge pull request #855 from floqqi/master
Windows: Use SIGTERM instead of SIGKILL
8 years ago
Selwin Ong 5f5e113790 Merge pull request #831 from katichev/explicit_cleanup
Replace job id with job instance in the job stack. Remove implicit "cleanup" call from "job.save"
8 years ago
Selwin Ong 165b7ae6b9 Merge pull request #845 from liangsijian/master
use enum WorkerStatus instead of str
8 years ago
Florian 61f27215b3 Windows: Use SIGTERM instead of SIGKILL 8 years ago
Amjith Ramanujam 3cf5850afc Honor the job_class for failed_queue. 8 years ago
liangsijian 4556f39c34 use enum WorkerStatus instead of str 8 years ago
liangsijian 4875331b60 Optimize job.dependency
job.refresh has been call in job.fetch
8 years ago
Alexey Katichev 09697e567f revert back job.cleanup changes 8 years ago
kirill f2ff1b05f7 accept multiple path 8 years ago
Selwin Ong 8ebebc9f7c Merge pull request #833 from yaniv-g/extract_move_to_failed_queue
Expose move_to_failed_queue from Worker
8 years ago
Yaniv Greenberg 7dc5d4a936 local commit to avoid circular imports. 8 years ago
Yaniv Greenberg 2da4ccd48d Moved move_to_failed_queue to separate file. 8 years ago
Selwin Ong d71a6c2ece Merge pull request #832 from yaniv-g/master
Expand timeout string feature to both result_ttl and ttl, and add days possibility.
8 years ago
fate0 1ebf880402 fix uncaught StopRequested during send heartbeat 8 years ago
Yaniv Greenberg b49e039d63 Separate move_to_failed_queue from the worker to allow it's use in cli exception handler. 8 years ago
Yaniv Greenberg 39e43207a6 * Added support to use strings to specify both result_ttl and ttl.
* Added Days as possible timeout string (as 'd')
8 years ago
Alexey Katichev b7d50cedc4 replace job.id with job instance in local _job_stack 8 years ago
Alexey Katichev 3596449cc0 remove implicit cleanup call from job.save 8 years ago
Alexey Katichev a0113c83cf introduce job.update_meta() to store updated meta to Redis (#823)
* introduce job.update_meta() to store updated meta to Redis

This closes nvie/rq#811

* rename update_meta to save_meta
8 years ago
Selwin Ong fe84828d72 Bump up version to 0.8.0 and updated changelog. 8 years ago
Selwin Ong dc45ab8799 Worker.find_by_key should use hmget instead of repeated hget calls. (#826) 8 years ago
luojiebin cd529d0ce1 Fixed issue#72 (#818)
* Added a custom exception for timeout transfer

* Added a util to transfer timeout to a united format

* Transfer timeout format when creating a queue or enqueue jobs

* Fixed typos

* Fixed bug in transfer_timeout function

* Added test for function transfer_timeout

* Updated transfer_timeout to allow uppercase unit

* Renamed function in utils
8 years ago
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
8 years ago
Peng Liu b7d4b4ec1b Solve the UnicodeDecodeError while decode literal things. (#817)
* Solve the UnicodeDecodeError while decode literal things.

* Add test case for when worker result is a unicode or str object that other than
pure ascii content.
8 years ago
Felipe Lacerda cab89254b5 Make `Queue.enqueue_job()` execute immediately if `async=False` (#798)
Currently, the job is being performed inside `enqueue_call()`, which
means that `async=False` has no effect if `enqueue_job()` is called
directly. This commit fixes that.
8 years ago
strawposter 1029adaf1b add sentinel support (#808)
* add sentinel support

* add sentinel support

* add comment
8 years ago
Peter Featherstone a99d79187b Minor spelling mistake
Minor spelling update of `proccess` to `process`
8 years ago
Selwin Ong 5660f925ae Merge pull request #788 from friedcell/master
Better support for async job payloads
8 years ago
Selwin Ong f6b4c286c9 Merge pull request #757 from jaywink/fix-unicode-decode-error
Fix UnicodeDecodeError when failing jobs
8 years ago
Selwin Ong f760fcb20f job.delete() should cleans itself from FailedQueue and various registries. 8 years ago
Samuel Colvin fd9babe8ce correct heroku worker exit logic
as per @Chronial's comment on b4b99f3
8 years ago
Marko Mrdjenovic c8a955fbb1 Merge commit '83007b20740a97f085a14d3840d1e434350c6600'
# Conflicts:
#	rq/queue.py
8 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
8 years ago
Selwin Ong 83007b2074 Merge pull request #786 from jezdez/backend-class-overrides
Allow passing backend classes from CLI and other APIs
8 years ago
Marko Mrdjenovic 35fb6b0b9a move actual execute to a separate method to make it easier to run async jobs 8 years ago
Marko Mrdjenovic 3da3eab11d moved job run to separate method to make async jobs easier 8 years ago
Benjamin Root efb30b45a3 Take a different tack, and enable the exclusion of meta from saves 8 years ago
Benjamin Root 56c89c1334 Trigger a refresh after job execution
* Prevents clobbering of user-supplied metadata
  modified during the job execution
8 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
8 years ago
Jannis Leidel 27e4f3a768
Small refactor to simplify registry key setup. 8 years ago
Selwin Ong b241d50c10 Merge pull request #774 from samuelcolvin/heroku-warm-shutdown-fix
allow for already dead horse on heroku worker termination
8 years ago
Atala 544f985d41 fix: set HTTP transport as default for sentry 8 years ago
Samuel Colvin b4b99f30b0 allow for already dead horse on heroku worker termination 8 years ago
Michael DeWulf 9e8922a099 Don't run lrem directly if we have a pipeline 8 years ago
Selwin Ong 6721463fdf queue.enqueue_call should call Job.exists with connection parameters. 8 years ago
Selwin Ong 1ae10dd529 Bump version to 0.7.1. 8 years ago
Julien Surloppe dc3bba9362 Another check on failed status and test 8 years ago
Julien Surloppe 88a3c60177 Fix get job on failed queue 8 years ago
Stefan Hammer f9bff3d12b Merge branch 'master' into 739_fix_race_condition 9 years ago
Michael DeWulf f3f61bbc15 Pass pipeline to push_job_id from enqueue_job 9 years ago
Vincent Driessen 20e258f610 Bump to 0.7.0 9 years ago
Vincent Driessen af6ce54ea4 Fix PEP8 complaints 9 years ago
Vincent Driessen 5945c28ce3 Remove legacy script 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
Samuel Colvin afc7469c27 fetch_job - check correct queue, fix #728 9 years ago
Selwin Ong e9a6c2e329 Merge pull request #747 from th3hamm0r/handle_missing_dependency
Raise an exception if a given dependency does not exist
9 years ago
Stefan Hammer 301e5c927b Raise an exception if a given dependency does not exist
Adapted some tests to the change: the dependency has to be saved first.
9 years ago
Stefan Hammer 67ae9277e5 completely pipelined enqueue_dependents 9 years ago
Stefan Hammer 7d267cf7ef implemented correct watch/multi/exec 9 years ago
任晓磊 ee4cf6e3ee fix get_redis_from_config() 9 years ago
任晓磊 83f81b351d fix default argument 9 years ago
任晓磊 191cc28543 custom connection class 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 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
Vincent Driessen 07adca6ca3 Bump dev version 9 years ago
Vincent Driessen 46c39654d0 Merge old tag 0.6.0 so it becomes part of master again
Otherwise, there's no linear history between this old tag and any new,
future, tags.  This is likely been a manual mistake when I released
0.6.0, so this is corrected now.
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
Javier Lopez 8e24d3a92d job.py: Fix cancel failure on failed queue 9 years ago
Vincent Driessen 6a57d321f2 Ignore flake8 checks in local.py 9 years ago
Selwin Ong 7b1df1e878 Bump version to 0.6.0. 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
Selwin Ong 8b7b0e5584 Merge pull request #701 from jlopex/javi/fix_issue_700
Fixes issue #700
9 years ago
Javier Lopez c5e62c70bb job.py: Use fetch to get a complete Job instance 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 c2374c8035 Correct the comment of job's requeue function. 9 years ago