> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/knowledge-base/vi/automation-api/automated-task-example-1.md).

# Ví dụ tác vụ tự động - Tự động bật/tắt VM khi cần

## Ví dụ tác vụ tự động

{% hint style="info" %}
**Các điểm chính**

* Tham số ***Công cụ tác vụ VergeOS*** cho phép bạn tự động hóa các thao tác, được kích hoạt bởi các sự kiện cụ thể hoặc vào các thời điểm đã lên lịch. Sử dụng các thành phần mô-đun, có thể tái sử dụng (tác vụ, sự kiện, lịch biểu và webhook), bạn có thể dễ dàng cấu hình tự động hóa phù hợp với môi trường của mình.
* Ví dụ sau đây minh họa việc sử dụng thẻ, tác vụ, sự kiện và lịch biểu cùng nhau để đưa khối lượng công việc lên và xuống trực tuyến một cách liền mạch khi cần, cải thiện hiệu quả tài nguyên.
  {% endhint %}

#### Trường hợp sử dụng

Người dùng JThompson dựa vào nhiều máy ảo được hỗ trợ bởi GPU để thực hiện công việc mô hình hóa và hoạt hình 3D. Các VM này tiêu tốn đáng kể tài nguyên tính toán và bộ nhớ, và việc để chúng chạy khi không tải là lãng phí.

Bằng cách cấu hình tự động hóa để chỉ bật chúng khi cần - khi JThompson đăng nhập vào hệ thống, và tắt chúng khi người dùng đăng xuất hoặc vào một thời điểm đã lên lịch (ví dụ: mỗi thứ Sáu lúc 6 giờ tối), chúng ta có thể đảm bảo tài nguyên luôn sẵn sàng đúng lúc cần thiết đồng thời tránh việc sử dụng không cần thiết.

Tự động hóa bao gồm việc tạo thẻ, định nghĩa tác vụ và gắn các trình kích hoạt theo sự kiện và lịch biểu. Các bước dưới đây sẽ hướng dẫn bạn toàn bộ quá trình cấu hình:

{% hint style="info" %}
**1. Tạo một Danh mục Thẻ và Thẻ**

**Danh mục thẻ sắp xếp các thẻ liên quan. Sau đó, chúng ta tạo một thẻ cụ thể trong danh mục đó để chỉ định các VM sẽ được điều khiển bằng tự động hóa này.**

***Hệ thống > Thẻ > Mới***

<img src="/files/86ff7122d4ab4c00c929802acec3d46a023e7708" alt="Create tag category" data-size="original">

**Nhấp đúp vào danh mục đã tạo ở trên >** ***Mới***

<img src="/files/d25ef076081320917dba82d57bf38d977d79154c" alt="New tag" data-size="original">
{% endhint %}

{% hint style="info" %}
**2. Gán Thẻ cho các VM để Tự động Bật/Tắt**

**Điều này sẽ xác định các VM sẽ được tự động hóa điều khiển.**

***Máy ảo > Danh sách >*** **chọn VM >** ***Gán Thẻ*** **> chọn thẻ ở trên**

<img src="/files/25fa40083e310d3cfc2882a4ca9ddd560255959d" alt="Assign tag to VMs" data-size="original">

Bây giờ các VM sẽ hiển thị thẻ đã gán trong cột ***Thẻ*** cột.

<img src="/files/eb01699eee20004398d006e2127d9c842a4fdc3c" alt="VMs with tag" data-size="original">
{% endhint %}

{% hint style="info" %}
**3. Tạo một Tác vụ để Bật các VM**

**Tác vụ này xác định hành động khởi động các máy ảo đã gắn thẻ.**

***Hệ thống > Bảng điều khiển Tác vụ > Tác vụ mới***

<img src="/files/6a6268f46c356c4c24c9553603134755a666d1ec" alt="Task to power on tagged VMs" data-size="original">
{% endhint %}

{% hint style="info" %}
**4. Cấu hình Trình kích hoạt Sự kiện cho Đăng nhập của Người dùng**

**Ở đây chúng ta định nghĩa hoạt động sẽ gọi tác vụ (JThompson đăng nhập vào hệ thống).**

Từ bảng điều khiển của tác vụ mới: ***Bộ kích hoạt Sự kiện > Mới***

<img src="/files/71e72234817e78f22bfcbbd4d0e95252c1ae52d1" alt="Event trigger user login" data-size="original">
{% endhint %}

{% hint style="info" %}
**5. Tạo một Tác vụ để Tắt các VM**

**Điều này xác định hành động tắt các máy ảo đã gắn thẻ.**

***Hệ thống > Bảng điều khiển Tác vụ > Tác vụ mới***

<img src="/files/69e34de3b0dbfc4e6125b0ddad95a584f13c8c4e" alt="Task to power off tagged VMs" data-size="original">
{% endhint %}

{% hint style="info" %}
**6. Cấu hình Trình kích hoạt Sự kiện cho Đăng xuất của Người dùng**

**Điều này cấu hình tác vụ sẽ chạy khi JThompson đăng xuất.**

Từ bảng điều khiển của tác vụ mới: ***Bộ kích hoạt Sự kiện > Mới***

<img src="/files/2963d905dcf264d352e17150c9db184b25c7f7bd" alt="Event trigger user logout" data-size="original">
{% endhint %}

{% hint style="info" %}
**7. Tạo một Lịch biểu cho các ngày Thứ Sáu lúc 6:00 chiều**

**Tạo lịch biểu cho phép chúng ta xác định các ngày/giờ cụ thể. Sau khi tạo lịch biểu, nó có thể được áp dụng cho tác vụ của chúng ta và các tác vụ khác.**

***Hệ thống > Bảng điều khiển Tác vụ > Lịch biểu Mới***

<img src="/files/9fe09aa12732953889734c20ecd9fa5865efe379" alt="Schedule COB" data-size="original">
{% endhint %}

{% hint style="info" %}
**8. Tạo một Trình kích hoạt Lịch biểu cho việc Tắt**

**Chúng ta áp dụng lịch biểu (các ngày Thứ Sáu lúc 6 giờ tối) cho tác vụ để tự động tắt các VM vào mỗi tối Thứ Sáu.**

Từ bảng điều khiển của tác vụ mới: ***Trình kích hoạt Lịch biểu > Mới***

<img src="/files/010516611efb6c94d9e268afe65d49e32f5b8f24" alt="Schedule trigger" data-size="original">
{% endhint %}

### Xác minh

* Đăng nhập với tư cách JThompson → các VM đã gắn thẻ sẽ tự động bật
* Đăng xuất → các VM sẽ tắt
* Vào thứ Sáu lúc 6:00 chiều → các VM sẽ tắt ngay cả khi người dùng vẫn đang đăng nhập

### Khắc phục sự cố

* Nếu các VM không bật, hãy kiểm tra xem thẻ đã được gán cho từng VM hay chưa.
* Nếu các trình kích hoạt lịch biểu không chạy, hãy xác nhận múi giờ của hệ thống là chính xác.
* Nếu các trình kích hoạt đăng nhập/đăng xuất thất bại, hãy đảm bảo tên tài khoản người dùng khớp chính xác.

Tự động hóa này đảm bảo rằng các VM được hỗ trợ bởi GPU chỉ hoạt động khi người dùng được chỉ định đang đăng nhập. Khi người dùng đăng xuất, hoặc đến thời điểm ngắt đã lên lịch (6 giờ chiều thứ Sáu), các VM sẽ được tắt để tiết kiệm tài nguyên. Mẫu này có thể được áp dụng cho các khối lượng công việc tiêu tốn nhiều tài nguyên khác như môi trường kiểm thử tích hợp, học máy tương tác, các máy trạm dựng CAD, hoặc các cụm mô hình tài chính, hay bất kỳ hệ thống nào được hưởng lợi từ việc chỉ chạy khi cần.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/knowledge-base/vi/automation-api/automated-task-example-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
