Adding --timeout=0 worked for my set up.
--timeout=0
UPDATE:The entire command would therefore be php artisan queue:listen --timeout=0.
php artisan queue:listen --timeout=0
Hope this helps.
After investing much time I got the solution
Add below line in Job class and your job run without time out, even if you put the job in a crontab entry
public $timeout = 0;
This is a known bug in Laravel v5.3:
You should upgrade to v5.5 to fix this problem.
Another way is hacking the source code as explained here