rqworker timeout
django, python, redis
Solution
This seems to be the right way to approach the problem.
queue = django_rq.get_queue('default')
queue.enqueue(populate_trends, args=(self,), timeout=500)
If you need to pass kwargs,
queue = django_rq.get_queue('default')
queue.enqueue(populate_trends, args=(self,), kwargs={'x': 1,}, timeout=500)
Thanks to the selwin at the django-rq project for the help.
Problem
I am using django-rq to handle some long-running tasks on my django site. These tasks trip the 180 second timeout of the (I assume) rqworker: ``` JobTimeoutException: Job exceeded maximum timeout value (180 seconds). ``` How can I increase this timeout value? I've tried adding --timeout 360 to the rqworker command but this isn't recognized. In my python code, my long-running job is called via ``` django_rq.enqueue( populate_trends, self, ) ``` and have tried ``` django_rq.enqueue_call( func=populate_trends, args=(self,), timeout=3600, ) ``` which I noticed in the rq docs but django-rq has no such method it seems. Update For now I forked django-rq and added a placeholder fix to increase the timeout. Probably need to work with the project to get a longer term solution. I've started an issue there to discuss.