I am building an application on which I've using Job Queues to process notifications after a user signs up. This is the case, When a user register in i have to sent a bunch of emails, SMS and notifications to the admin, and other users who referenced the new-comer. Also i have to process the profile image uploaded to save it in different sizes to use in different places. Obviously, doing all this stuff during the registration won't be a good idea as the user needs to wait while all this thing gets completed. So i have managed to put up a Queue. Currently i'm using queue:work to run the queues. But i'm doubting that if keeping this have any impact on the server resource. I'm considering calling the command explicitly using Artisan::call to run the jobs and end it after processing it.
What would be he best solution here. Keeping the command in the terminal or the way i just said. I'm doubting that keeping the queue worker forever would have any impact in the server performance ?
If you are worried about the resources you can always create a separate server which you can use just for queues. But since you are thinking of stopping queues then you probably do not need a separate server since you would have so much time where that server is not doing anything.
I have tried calling the que:worker command through the controller. And it resulted in an infinite page load. So i think i have no other option but go for the normal way and keep a supervisor as you suggested.