As can be seen in T59164, the current behaviour of the Alembic import/export operators is a bit confusing, as it runs in a background job by default.
My solution is similar to what physics baking is doing: invoking the operator runs a background job, whereas executing blocks. This makes Python scripts calling the Alembic import/export operators more predictable.
For backwardward compatibility with existing Python code the as_background_job parameter still exists, which overrides the behaviour chosen by INVOKE/EXECUTE.