It sounds like you are looking at automating those tasks. The easiest way would be to create commands: https://laravel.com/docs/5.6/scheduling#scheduling-artisan-commands, they run similar to cron or actually are cron, just much nicer ;-)
Commands have nothing to do with Jobs and Queues. Queue would be for instance when you have an email notification and you do not want to wait until you get confirmation that email was send. You put use Queueable; on top of the notification. To use them you need to start at least one Queue worker on your server.
I also wonder if you need to do those tasks in specific order? Is it one DB? With commands you can actually do a small trick and call another server endpoint and run an url, this way you would keep everything on one server in one command. It will look something like that:
namespace App\Console\Commands;
use Illuminate\Console\Command;
class Test extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'my:test';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Test another endpoint with curl';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://myotherapp/test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Cache-Control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
}
}
Hope it helps!