크레이지 슬롯 채용정보

소개

크레이지 슬롯 작업을 제출하려면 엔진에 모델 이름과 이름을 제공해야 합니다.네임스페이스여기서 실행되어야 합니다. 모델인 경우 지정된 네임스페이스에 등록되지 않은 경우 모델 파일도 필요합니다. 이 외에도 주요 크레이지 슬롯 작업의 구성요소에는 다양한 추가 옵션과 파일을 지정할 수 있습니다. 그 중 몇 가지 여기에 더 자세히 나와 있습니다. 사용 가능한 모든 사양의 개요는 다음에서 확인할 수 있습니다.기술 문서 API.

INEX 파일

기본적으로 결과 파일에는 모델이 실행된 디렉터리의 모든 파일이 포함됩니다. 이 데이터 파일, 모델 파일, 로그 및 목록 파일은 물론 필요한 기타 모든 파일이 포함됩니다. 모델 실행 중에 생성되거나 생성됩니다.

결과.zip의 내용

크레이지 슬롯 엔진을 사용하여 결과 아카이브에 포함된 파일을 제한할 수 있습니다. 이것은 다음에 사용될 수 있습니다 아카이브의 크기를 줄입니다. 이 INEX 파일에는 다음과 같은 스키마가 있습니다.

"$schema": "http://json-schema.org/draft-04/schema#",
  "유형": "객체",
  "속성": 
    "유형": 
      "유형": "문자열",
      "열거": [
        "포함하다",
        "제외하다"
      ]
    ,
    "파일": 
      "유형": "배열",
      "항목": 
        "유형": "문자열"
      ,
      "필수": [
        "아이템"
      ]
    ,
    "globbing_enabled": 
      "유형": "부울",
      "기본값": 참

  ,
  "필수": [
    "유형",
    "파일"
  ],
  "추가속성": 거짓

우리가 다음을 등록한다고 가정합시다trn스포츠19415_19632.gms그리고.inc우리 모델 사용자에게 반환된 결과에서. 따라서 다음 INEX 파일을 사용하여 모델을 등록합니다.

"유형": "제외",
  "파일": ["*.gms", "*.inc"]

언제globbing_enabled사실입니다. 다음을 가능하게 합니다.글로브 패턴(때때로 "와일드카드"라고도 함). 이 필드는 선택 사항이며 true로 설정됩니다. 생략시. 파일 이름을 정확하게 지정하고 싶지만 이 기능이 필요하지 않은 경우 다음을 수행할 수 있습니다. false로 설정하세요.

다음은 글로빙이 비활성화된 예시 inex 파일입니다:

"유형": "제외",
  "파일": ["trnsport.gms", "mydata.inc"],
  "globbing_enabled": 거짓

새 모델을 등록할 때와 크레이지 슬롯을 제출할 때 모두 INEX 파일을 지정할 수 있습니다. 당신이 INEX 파일이 이미 포함되어 있는 등록된 모델에 대해 새 크레이지 슬롯을 제출하면 결과가 먼저 표시됩니다. 해당 파일에 대해 필터링되었습니다. 그 후에만 크레이지 슬롯과 함께 전송된 INEX 파일이 적용됩니다. 이 이는 새 크레이지 슬롯을 제출할 때 해당 크레이지 슬롯과 관련된 제한 사항을 제거할 수 없음을 의미합니다. 등록된 모델입니다.

경고:

INEX 기능은 모델의 무결성을 보호하기에 충분하지 않습니다. 데이터 파일부터 기본적으로 모델 파일 다음에 추출되므로 악의적인 사용자가 간단히 덮어쓸 수 있습니다. 자신의 파일을 모델링하여 자신의 코드를 실행합니다. 이로부터 자신을 보호하려면 설정해야 합니다.protect_model_files다음에 플래그 지정등록/업데이트 시 당신의 모델입니다.

텍스트/스트림 항목

크레이지 슬롯을 실행할 때 소위 두 가지를 모두 등록할 수 있습니다텍스트 항목그리고스트림 항목. 무엇이든 가능합니다.UTF-8 인코딩모델 실행 중에 생성된 텍스트 파일입니다. 의 경우스트림 항목내용 이러한 파일은 크레이지 슬롯이 실행되는 동안 스트리밍될 수 있습니다. 텍스트 항목은 다음 후에만 표시될 수 있습니다. 크레이지 슬롯이 완료되었습니다. 이 기능은 크레이지 슬롯이 실행되는 동안 특정 파일을 보려는 경우에 유용합니다. (예:solvetrace파일) 또는 (아마도 광범위한) 결과를 다운로드하기 전 아카이브.

텍스트 항목은 GET 엔드포인트를 통해 여러 번 검색할 수 있지만/jobs/token/text-entry/entry_name, 스트림 항목의 내용이 FIFO(선입 선출) 대기열. DELETE 엔드포인트/jobs/token/stream-entry/entry_name큐를 비우고 검색하는 데 사용할 수 있습니다. 내용.

텍스트 항목의 최대 크기는 10MB이며 다음을 통해 구성할 수 있습니다./구성엔드포인트 (관리자 전용). 매우 큰 텍스트 파일에는 텍스트 항목을 사용하면 안 됩니다.

참고:

크레이지 슬롯 로그 파일(프로세스의 표준 출력)은 특수한 유형의 스트림 항목입니다. 따라서, 그것은 자체 엔드포인트:/jobs/token/unread-logs.

하이퍼큐브 크레이지 슬롯

또한정상크레이지 슬롯 작업, 크레이지 슬롯 엔진도 소위 지원합니다하이퍼큐브 크레이지 슬롯. 이는 본질적으로 다양한 명령줄 인수를 사용하는 일반 작업 모음입니다. 왜 이런거야? 유용합니까? 다양한 시나리오를 실행하는 크레이지 슬롯 모델을 상상해 보세요. 모델은 언제나 동일한 대형 GDX 파일로 초기화되지만 다음에 따라 다르게 동작합니다.이중 대시 매개변수 --scenId. 이런 상황에서는 피하고 싶다 각 시나리오에 대해 동일한 대용량 GDX 파일을 업로드합니다. 대신, 한 번 업로드하고 생성하고 싶습니다. 다양한 명령줄 인수를 사용하는 여러 크레이지 슬롯: a하이퍼큐브 크레이지 슬롯.

새로운 Hypercube 크레이지 슬롯을 생성하려면 POST를 사용해야 합니다./하이퍼큐브/엔드포인트. 유일한 일반 채용 공고와의 차이점은 소위하이퍼큐브 설명 파일. 이것은 JSON입니다. Hypercube 크레이지 슬롯을 설명하는 파일입니다. 이하이퍼큐브 설명 파일다음이 있습니다 스키마:

"$schema": "http://json-schema.org/draft-04/schema#",
  "유형": "객체",
  "속성": 
    "크레이지 슬롯": 
      "유형": "배열",
      "항목": 
        "유형": "객체",
        "속성": 
          "ID": 
            "유형": "문자열",
            "최소 길이": 1,
            "최대 길이": 255,
            "패턴": "^[0-9a-zA-Z_\-. ]+$"
          ,
          "인수": 
            "유형": "배열",
            "항목": 
              "유형": "문자열"
            ,
            "최소항목": 1

        ,
        "필수": [
          "ID",
          "인수"
        ]
      ,
      "필수": [
        "아이템"
      ],
      "최소항목": 1

  ,
  "필수": [
    "일자리"
  ]

이를 염두에 두고 위에서 설명한 예는 다음과 같은 결과를 가져올 수 있습니다.하이퍼큐브 설명 파일:

"크레이지 슬롯": [

      "id": "첫 번째 시나리오",
      "인수": ["--scenId=1"]
    ,

      "id": "두 번째 시나리오",
      "인수": ["--scenId=2"]
    ,

      "id": "세 번째 시나리오",
      "인수": ["--scenId=3"]

  ]

이로 인해 서로 다른 값을 가진 3개의 크레이지 슬롯 작업이 생성됩니다.--scenId.id27791_27899하이퍼큐브 크레이지 슬롯결과가 저장되는 디렉터리 이름으로 사용됩니다. 내용 결과 아카이브하이퍼큐브 크레이지 슬롯위에 설명된 내용은 다음과 같습니다(결과는 다음과 같습니다). 다음을 통해 필터링됨INEX 파일):

.
├── 첫 번째\ 시나리오
│   └── 결과.gdx
├── 두 번째\ 시나리오
│   └── 결과.gdx
└── 세 번째\ 시나리오
    └── 결과.gdx

디렉터리 3개, 파일 3개

크레이지 슬롯 종속성

크레이지 슬롯은 다음과 같습니다.의존다른 크레이지 슬롯에. 이는 다음을 의미합니다.

  1. 종속 크레이지 슬롯은 모든 전제 조건이 완료될 때까지 시작되지 않습니다.
  2. 종속성이 있는 크레이지 슬롯의 크레이지 슬롯공간은 다음의 결과를 추출하여 초기화됩니다. 지정한 순서대로 이전 크레이지 슬롯을 수행합니다.

첫 번째 요점은 매우 간단하지만 두 번째 요점은 작은 예를 통해 가장 잘 설명됩니다. 직업이 있다고 가정해 봅시다.c크레이지 슬롯에 따라 다름a그리고b. 취업 전c시작되었습니다. 먼저 크레이지 슬롯 결과 아카이브a추출된 다음 직업의 것b그리고 마지막으로 크레이지 슬롯의 모델 및 크레이지 슬롯 데이터c. 만약에results.gdx파일이 둘 다에 존재함a그리고b, 직장에서 온 것b다음을 덮어씁니다 직장에서a. 따라서 종속성을 지정하는 순서가 중요합니다.

이 기능이 매우 유용한 일반적인 경우는 사전/사후 처리입니다. 장기전을 할 수도 있습니다 많은 양의 결과를 생성하는 크레이지 슬롯. 그러나 이 모든 것에 관심이 없을 수도 있습니다. 결과. 오히려 결과의 일부에 대해 분석을 실행한 다음 해당 결과만 검색하려고 합니다. 현재 관심 있는 결과의 일부입니다. 후처리 크레이지 슬롯 사용 기본 크레이지 슬롯에 대한 의존성INEX 파일허용 너만 그렇게 하면 돼.

참고:

전제 크레이지 슬롯은 제출 시 액세스할 수 있어야 합니다(즉, 귀하의 크레이지 슬롯이어야 하며, 초대받은 사람의 직업 또는 직업당신과 공유했습니다).

크레이지 슬롯 우선순위엔진 하나

작업에는 우선순위가 할당될 수 있습니다. 이렇게 하면 작업이 다른 작업보다 먼저 실행될 수 있습니다. 작업이 이전에 제출되었습니다. 이는 대기열의 순서에만 영향을 미칩니다. 이미 실행 중인 작업 퇴거되지 않습니다. 크레이지 슬롯 엔진은 세 가지 우선순위 수준을 지원합니다.낮음, 중간그리고높음. 기본적으로 각 우선순위마다 하나씩 총 3개의 FIFO 대기열이 생성됩니다. 수준 - 크레이지 슬롯자는 먼저에서 일자리를 얻습니다.높음우선순위 대기열, 다음에서중간그리고 다음에서낮음큐. 이는 기아가 발생할 수 있음을 의미합니다.낮음우선순위 및 사용자가 계속 전송함중간또는높음우선순위 크레이지 슬롯,낮음우선 크레이지 슬롯은 무기한 대기할 수 있습니다.

크레이지 슬롯을 제출할 때 크레이지 슬롯에 우선순위를 할당할 수 있습니다(다음을 통해)포스트 /크레이지 슬롯/엔드포인트). 우선순위가 명시적으로 지정되지 않은 경우,중간우선순위가 지정되었습니다.

크레이지 슬롯 우선순위 기능은 기본적으로 비활성화되어 있으며 현재 Engine One에서만 지원됩니다. 받는 사람 엔진 UI를 통해 기능을 활성화하고, 다음으로 이동하세요.관리보기 및 클릭크레이지 슬롯 우선순위 활성화버튼(또는 다음을 사용하세요.패치 /구성엔드포인트 및 세트job_priorities_access활성화됨). 이 기능은 다음과 같습니다. 시스템이 유휴 상태일 때만 활성화/비활성화됩니다. 즉, 실행 중인 크레이지 슬롯이 없거나 진행 중인 크레이지 슬롯이 없을 때입니다. 제출되었습니다. 그렇지 않으면 크레이지 슬롯이 정의되지 않은 상태가 될 수 있습니다.

크레이지 슬롯 우선순위는 현재 Hypercube 크레이지 슬롯에 지원되지 않습니다.