I recently had a similar problem, how I tackaled it was to break a large file into multiple files and have an artisan command running every minute to process the smaller csv files.
I documented how I went about it at daveismyname.blog/laravel-import-large-csv-file