No, there isn't, as long as your architecture or infrastructure don't impose it.
You must be very careful then. If your job can fall into an infinite loop, your queue will stuck.
It's also generally suggested to have minimum a couple of workers. Even better, consider to have different queues, one for slow or standard jobs, another for priority jobs.
Talking about Heroku (the original question did not mention it), there is currently no timeout for workers (only for web dynos). However Heroku may kill your jobs in some cases, such as after a deploy or restart.