Run only one job on local machine

I think it really depend on your goals.
If during the development, you want to check if every pieces of workchain steps are working as expect by running it as a whole without starving your laptop resource, I’d recommend to not start daemon using engine.run() instead of engine.submit().
If you want to check that some steps in your workchain can spin up calculations in parallel but again not starving your laptop resources with hundreds of system processes. Using the approach mentioned by @Xing above.
If you want to use your PC to run production workchain but not starving your laptop resources. I think it is better to have a scheduler and the hyperqueue is probably want you are looking for. We have aiida-hyperqueue plugin that developed from the team and being used also for aiidalab-qe deployment. (for how to set up this, I reply in another post by @nkeilbart at Implementing the Flux scheduler from LLNL - #4 by jusong.yu)