> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-JobQueue 트랜잭션 액션

검증/소비/입수 각 트랜잭션 액션의 사양





## Consume Action

소비 액션

### Gs2JobQueue:DeleteJobByUserId

사용자 ID를 지정하여 잡 삭제<br>

지정한 사용자의 잡 큐에서 특정 잡을 삭제합니다.<br>
실행 상태와 관계없이 잡이 삭제됩니다.

**수량 지정 가능한 액션: 아니오**

**반전 가능한 액션: 아니오**

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128자 | 네임스페이스 이름<br>네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| userId | string |  | ✓|  |  ~ 128자 | 사용자ID<br>`#{userId}`로 설정하면 로그인 중인 사용자ID로 치환됩니다. |
| jobName | string |  | ✓| UUID |  ~ 36자 | 잡 이름<br>잡의 고유한 이름을 보유합니다.<br>이름은 UUID(Universally Unique Identifier) 형식으로 자동 생성되며, 각 잡을 식별하는 데 사용됩니다. |
| timeOffsetToken | string |  | |  |  ~ 1024자 | 타임 오프셋 토큰 |




**JSON**
```json
{
    "action": "Gs2JobQueue:DeleteJobByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "jobName": "[string]잡 이름",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2JobQueue:DeleteJobByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  jobName: "[string]잡 이름"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("jobQueue").consume.delete_job_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    jobName="[string]잡 이름",
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---

## Acquire Action

입수 액션

### Gs2JobQueue:PushByUserId

사용자 ID를 지정하여 잡 등록<br>

사용자의 잡 큐에 하나 이상의 잡을 등록합니다(최대 10건).<br>
각 잡에는 실행할 GS2-Script, 인수, 최대 재시도 횟수를 지정합니다.<br>
네임스페이스에서 enableAutoRun이 활성화된 경우, 잡은 등록 후 즉시 비동기로 실행되며, 응답의 autoRun 플래그가 true가 됩니다.<br>
enableAutoRun이 비활성화되어 있으면 잡은 큐에 추가되고 Run API를 통해 수동으로 실행해야 하며, autoRun 플래그는 false가 됩니다.

**수량 지정 가능한 액션: 아니오**

**반전 가능한 액션: 아니오**

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128자 | 네임스페이스 이름<br>네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| userId | string |  | ✓|  |  ~ 128자 | 사용자ID<br>`#{userId}`로 설정하면 로그인 중인 사용자ID로 치환됩니다. |
| jobs | List&lt;JobEntry&gt; |  | |  | 0 ~ 10 items | 추가할 잡 목록 |
| timeOffsetToken | string |  | |  |  ~ 1024자 | 타임 오프셋 토큰 |




**JSON**
```json
{
    "action": "Gs2JobQueue:PushByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "jobs": [
            {
                "scriptId": "[string]스크립트 GRN",
                "args": "[string]인수",
                "maxTryCount": "[int]최대 시도 횟수"
            }
        ],
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2JobQueue:PushByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  jobs: 
    - scriptId: "[string]스크립트 GRN"
      args: "[string]인수"
      maxTryCount: "[int]최대 시도 횟수"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("jobQueue").acquire.push_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    jobs={
        {
            scriptId="[string]스크립트 GRN",
            args="[string]인수",
            maxTryCount="[int]최대 시도 횟수"
        }
    },
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---



