Перейти к содержанию

Синхронный и асинхронный режимы выполнения задач

В CLI доступны два режима выполнения задач: синхронный и асинхронный.

Все задачи по умолчанию выполняются в синхронном режиме. После запуска задачи в этом режиме CLI ожидает завершения соответствующей операции в SpaceVM.

Задачи, которые выполняются длительное время, удобно запускать в асинхронном режиме. После запуска задачи в этом режиме CLI сразу выдает информацию о соответствующей операции в SpaceVM и дает пользователю возможность продолжить работу. Чтобы использовать этот режим, запустите команду с флагом --async. В ответ на такой вызов CLI вернет идентификатор задачи, который в дальнейшем используется для получения информации об задаче.

Чтобы получить информацию об задаче, запущенной в асинхронном режиме, воспользуйтесь следующими командами:

  • Узнать текущий статус выполнения задачи:

    svc task get <идентификатор задачи>
    
  • Ожидать выполнение задачи:

    svc task wait <идентификатор задачи>
    

Примеры

Сравните выполнение задачи по созданию виртуальной машины в разных режимах.

Выполнение задачи в синхронном режиме

Выводится результат задачи.

svc vm start --name test_svc1
Successfully start domain test_svc1.

Выполнение задачи в асинхронном режиме

После запуска задачи на экран выводится id задачи, а выполнение продолжается в фоновом режиме.

svc vm start --name test_svc1 --async
2c67f8bf-c4ad-4496-bae2-9ec0d55544f6
svc task get 2c67f8bf-c4ad-4496-bae2-9ec0d55544f6
  ID                                     PROGRESS   STATUS    NAME                                      EXECUTED   IS MULTITASK   ERROR MESSAGE  
 -------------------------------------- ---------- --------- ----------------------------------------- ---------- -------------- --------------- 
  2c67f8bf-c4ad-4496-bae2-9ec0d55544f6        100   SUCCESS   Starting the virtual machine test_svc1.   0.654723   No