InMemory adapter doesn't use any work queue. All the tasks are executed immediately and
synchronously in the same process.
This implementation is useful if you don't want to install a work queue on your development machine, or in tests too.
It implements the same interface as the other adapters, so you can use it the same way:
$workDispatcher = new InMemoryWorkDispatcher(new InMemoryWorker()); // Run a task $task = new MyTask(); $workDispatcher->run($task);
There is (obviously) no need for a worker, since the worker is already running in the same process.
This is basically the same as executing the task directly.
Waiting for a task to finish
InMemory adapter also implements the
SynchronousWorkDispatcher interface, which
allows to run tasks and fetch its result:
$result = $workDispatcher->runAndWait(new MyTask());