short have they own worker, and that is important to understand how background process works.
1st - It’s not true, that background jobs won’t affect the user performance. It depends of many factors.
2nd - The short queues, have one timeout time strictly defined, while the long jobs have an large time window, but in both cases, you can bypass them defining your own timeout in each enqueue method.
3rd - Short queues are usefull for some silly computations, for example, one function to get a list of values from the database, to send emails, to process some simple reports, to render one PDF and attach it somewhere, long queues are usefull for task that run long, for example, data syncronization, huge file/reports generation.
4th - take attention that there’s no isolation between the database connection, so for many times, it can affect the performance of your users.
I have one situation over telecom, that I’m generating thousands of Invoices, daily using an async function.
Due that, I planned an time schedulling for the function run, it start on the free users hours midnight to 6am.
Because it locks various tables, I dont know why, but tables are being locked during the process run.