feat: Add Piece Length configuration to preheat and clear tasks (#476)
* feat: Add Piece Length configuration to preheat and clear tasks Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Add Piece Length configuration to preheat and clear tasks Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Add Piece Length configuration to preheat and clear tasks Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Add Piece Length configuration to preheat and clear tasks Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Change piece length display Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Change piece length display Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Change piece length display Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Change piece length display Signed-off-by: zhaoxinxin <1186037180@qq.com> * feat: Change piece length display Signed-off-by: zhaoxinxin <1186037180@qq.com> --------- Signed-off-by: zhaoxinxin <1186037180@qq.com>
This commit is contained in:
parent
80c5e14b1a
commit
29df7c96b2
|
@ -59,6 +59,8 @@ describe('Create preheat', () => {
|
|||
cy.get('#cluster-1').check();
|
||||
cy.get('body').click('topLeft');
|
||||
|
||||
cy.get('#pieceLength').type('4');
|
||||
|
||||
// Select a scope.
|
||||
cy.get('#select-scope').click();
|
||||
|
||||
|
@ -75,22 +77,20 @@ describe('Create preheat', () => {
|
|||
(req) => {
|
||||
req.reply({
|
||||
statusCode: 200,
|
||||
body: [],
|
||||
body: createPreheat,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'GET',
|
||||
url: '/api/v1/jobs?page=1&per_page=10&type=preheat',
|
||||
url: '/api/v1/jobs/12',
|
||||
},
|
||||
(req) => {
|
||||
req.reply((res: any) => {
|
||||
const responseHeaders = {
|
||||
...res.headers,
|
||||
Link: '</api/v1/jobs?page=1&per_page=10&state=FAILURE>;rel=prev,</api/v1/jobs?page=2&per_page=10&state=FAILURE>;rel=next,</api/v1/jobs?page=1&per_page=10&state=FAILURE>;rel=first,</api/v1/jobs?page=2&per_page=10&state=FAILURE>;rel=last',
|
||||
};
|
||||
res.send(200, createPreheat, responseHeaders);
|
||||
req.reply({
|
||||
statusCode: 200,
|
||||
body: createPreheat,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
@ -98,14 +98,13 @@ describe('Create preheat', () => {
|
|||
cy.get('#save').click();
|
||||
|
||||
// Then I see that the current page is the preheats page!
|
||||
cy.url().should('include', '/jobs/preheats');
|
||||
cy.url().should('include', '/jobs/preheats/12');
|
||||
|
||||
// Displays successfully added preheat task.
|
||||
cy.get('#PENDING-12').should('exist');
|
||||
cy.get('#id-12').should('have.text', 12);
|
||||
|
||||
cy.get('#created_at-12').should('have.text', '2023-03-23 16:29:18');
|
||||
cy.get('#description-12').should('have.text', 'create preheat');
|
||||
cy.get('#description').should('have.text', 'create preheat');
|
||||
cy.get('#status').should('have.text', 'PENDING');
|
||||
cy.get('#id').should('have.text', 12);
|
||||
cy.get('#piece-length').should('have.text', '4 MiB');
|
||||
});
|
||||
|
||||
it('cannot to use cluster without scheduler for preheat', () => {
|
||||
|
@ -177,39 +176,34 @@ describe('Create preheat', () => {
|
|||
(req) => {
|
||||
req.reply({
|
||||
statusCode: 200,
|
||||
body: [],
|
||||
body: createPreheat,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'GET',
|
||||
url: '/api/v1/jobs?page=1&per_page=10&type=preheat',
|
||||
url: '/api/v1/jobs/12',
|
||||
},
|
||||
(req) => {
|
||||
req.reply((res: any) => {
|
||||
const responseHeaders = {
|
||||
...res.headers,
|
||||
Link: '</api/v1/jobs?page=1&per_page=10&state=FAILURE>;rel=prev,</api/v1/jobs?page=2&per_page=10&state=FAILURE>;rel=next,</api/v1/jobs?page=1&per_page=10&state=FAILURE>;rel=first,</api/v1/jobs?page=2&per_page=10&state=FAILURE>;rel=last',
|
||||
};
|
||||
res.send(200, createPreheat, responseHeaders);
|
||||
req.reply({
|
||||
statusCode: 200,
|
||||
body: createPreheat,
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
cy.get('#save').click();
|
||||
|
||||
cy.get('.MuiAlert-message').should('not.exist');
|
||||
|
||||
// Then I see that the current page is the preheats page!
|
||||
cy.url().should('include', '/jobs/preheats');
|
||||
cy.url().should('include', '/jobs/preheats/12');
|
||||
|
||||
// Displays successfully added preheat task.
|
||||
cy.get('#PENDING-12').should('exist');
|
||||
cy.get('#id-12').should('have.text', 12);
|
||||
|
||||
cy.get('#created_at-12').should('have.text', '2023-03-23 16:29:18');
|
||||
cy.get('#description-12').should('have.text', 'create preheat');
|
||||
cy.get('#description').should('have.text', 'create preheat');
|
||||
cy.get('#status').should('have.text', 'PENDING');
|
||||
cy.get('#id').should('have.text', 12);
|
||||
cy.get('#piece-length').should('have.text', '4 MiB');
|
||||
});
|
||||
|
||||
it('should handle API error response', () => {
|
||||
|
@ -284,6 +278,22 @@ describe('Create preheat', () => {
|
|||
cy.get('#url').clear();
|
||||
cy.get('#url').type('https://docs');
|
||||
|
||||
// Should display message Piece Length the validation error.
|
||||
cy.get('#pieceLength').type('0');
|
||||
|
||||
// Show verification error message.
|
||||
cy.get('#pieceLength-helper-text').should('have.text', 'Please enter a value between 4 and 1024 MiB.');
|
||||
|
||||
cy.get('#pieceLength').clear();
|
||||
cy.get('#pieceLength-helper-text').should('not.eq');
|
||||
cy.get('#pieceLength').type('1025');
|
||||
cy.get('#save').click();
|
||||
|
||||
// Preheat creation failed, the page is still in preheat/new!
|
||||
cy.url().should('include', '/jobs/preheats/new');
|
||||
|
||||
cy.get('#pieceLength-helper-text').should('exist');
|
||||
|
||||
// Should display message tag the validation error.
|
||||
cy.get('#tag').type(url);
|
||||
|
||||
|
|
|
@ -101,8 +101,11 @@ describe('Preheat', () => {
|
|||
.and('have.css', 'background-color', 'rgb(212, 37, 54)')
|
||||
.find('#error-log-icon')
|
||||
.and('exist');
|
||||
|
||||
cy.get('#url').should('have.text', 'http://dock.io/preheat/test');
|
||||
|
||||
cy.get('#piece-length').should('have.text', '4 MiB');
|
||||
|
||||
// Show preheat tag.
|
||||
cy.get('#tag').should('have.text', 'prheat tag');
|
||||
|
||||
|
@ -150,6 +153,9 @@ describe('Preheat', () => {
|
|||
|
||||
// Show preheat headers.
|
||||
cy.get('#headers').children().should('have.length', 2);
|
||||
|
||||
// Show preheat piece length.
|
||||
cy.get('#piece-length').should('have.text', '4 MiB');
|
||||
});
|
||||
|
||||
it('should display detailed preheat pending information', () => {
|
||||
|
@ -190,6 +196,9 @@ describe('Preheat', () => {
|
|||
// Show preheat scope.
|
||||
cy.get('#scope').should('have.text', 'All Seed Peers');
|
||||
|
||||
// Show preheat piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
// Show preheat headers.
|
||||
cy.get('#headers').children().should('have.length', 1);
|
||||
cy.wait(120000);
|
||||
|
@ -265,6 +274,9 @@ describe('Preheat', () => {
|
|||
// Show preheat tag.
|
||||
cy.get('#tag').should('have.text', '-');
|
||||
|
||||
// Show preheat piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
// Show preheat headers.
|
||||
cy.get('#headers').should('have.text', '-');
|
||||
|
||||
|
@ -321,6 +333,9 @@ describe('Preheat', () => {
|
|||
// Show preheat url.
|
||||
cy.get('#url').should('have.text', '-');
|
||||
|
||||
// Show preheat piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
// Show preheat tag.
|
||||
cy.get('#tag').should('have.text', '-').should('have.text', '-');
|
||||
|
||||
|
@ -372,6 +387,9 @@ describe('Preheat', () => {
|
|||
// Show preheat headers.
|
||||
cy.get('#headers').children().should('have.length', 1);
|
||||
|
||||
// Show preheat piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
cy.wait(120000);
|
||||
|
||||
// Check how many times the API should be executed after six seconds.
|
||||
|
|
|
@ -69,12 +69,22 @@ describe('Clear', () => {
|
|||
it('click the `CANCEL button', () => {
|
||||
cy.get('#url').click();
|
||||
|
||||
// Show tag input.
|
||||
// Add tag input.
|
||||
cy.get('#tag').should('exist');
|
||||
|
||||
// Add url.
|
||||
cy.get('#url').type('https://example.com/path/to/file');
|
||||
|
||||
// Add piece length.
|
||||
cy.get('#pieceLength').type('4');
|
||||
|
||||
cy.get('#cancelSearchByURL').click();
|
||||
|
||||
// not show tag input.
|
||||
cy.get('#tag').should('not.exist');
|
||||
cy.get('#url').click();
|
||||
|
||||
cy.get('#tag').should('have.value', '');
|
||||
cy.get('#url').should('have.value', '');
|
||||
cy.get('#pieceLength').should('have.value', '');
|
||||
});
|
||||
|
||||
it('can search by url', () => {
|
||||
|
@ -85,13 +95,16 @@ describe('Clear', () => {
|
|||
// Add url.
|
||||
cy.get('#url').type('https://example.com/path/to/file');
|
||||
|
||||
// Show tag input.
|
||||
// Add piece length.
|
||||
cy.get('#pieceLength').type('4');
|
||||
|
||||
// Add tag input.
|
||||
cy.get('#tag').type('tag');
|
||||
|
||||
// Show tag input.
|
||||
// Add tag input.
|
||||
cy.get('#application').type('application');
|
||||
|
||||
// Show tag input.
|
||||
// Add filtered query params input.
|
||||
cy.get('.MuiAutocomplete-root > .MuiFormControl-root > .MuiInputBase-root').type('filteredQueryParams{enter}');
|
||||
cy.get('.MuiAutocomplete-root > .MuiFormControl-root > .MuiInputBase-root').type('X-Amz-Algorithm{enter}');
|
||||
|
||||
|
|
|
@ -61,7 +61,6 @@ describe('Executions', () => {
|
|||
describe('when data is loaded', () => {
|
||||
it('should display detailed execution failure information', () => {
|
||||
// Click the execution details button.
|
||||
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'GET',
|
||||
|
@ -86,30 +85,29 @@ describe('Executions', () => {
|
|||
cy.get('.MuiBreadcrumbs-ol').should('exist').and('contain', 10);
|
||||
|
||||
// Show execution id.
|
||||
cy.get('.MuiPaper-root > :nth-child(1)').should('contain', 10);
|
||||
cy.get('#id').should('contain', 10);
|
||||
|
||||
cy.get('[data-testid="execution-isloading"]').should('not.exist');
|
||||
|
||||
// Show execution piece length.
|
||||
cy.get('#piece-length').should('have.text', '4 MiB');
|
||||
|
||||
// Show execution status.
|
||||
cy.get('#status')
|
||||
.should('have.text', 'FAILURE')
|
||||
.and('have.css', 'background-color', 'rgb(212, 37, 54)')
|
||||
.find('#error-log-icon')
|
||||
.and('exist');
|
||||
|
||||
cy.get('.MuiPaper-root > :nth-child(3)').should(
|
||||
'contain',
|
||||
'fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916',
|
||||
);
|
||||
cy.get('#task-id').should('contain', 'fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916');
|
||||
|
||||
// Show execution tag.
|
||||
cy.get('.MuiPaper-root > :nth-child(5)').should('contain', 'execution-tag');
|
||||
cy.get('#tag').should('contain', 'execution-tag');
|
||||
|
||||
// Show execution tag.
|
||||
cy.get('.MuiPaper-root > :nth-child(6)').should('contain', 'execution-application');
|
||||
// Show execution application.
|
||||
cy.get('#application').should('contain', 'execution-application');
|
||||
|
||||
// Show execution scheduler clusters ID.
|
||||
cy.get(':nth-child(7) > :nth-child(2)').should('have.text', 1);
|
||||
cy.get('#scheduler-clusters-id').should('have.text', 1);
|
||||
|
||||
// Click the show error log button.
|
||||
cy.get('#status > .MuiButtonBase-root').click();
|
||||
|
@ -129,8 +127,7 @@ describe('Executions', () => {
|
|||
cy.get('.MuiBreadcrumbs-ol').should('exist').and('contain', 9);
|
||||
|
||||
// Show execution id.
|
||||
cy.get('.MuiPaper-root > :nth-child(1)').should('contain', 9);
|
||||
|
||||
cy.get('#id').should('contain', 9);
|
||||
cy.get('[data-testid="execution-isloading"]').should('not.exist');
|
||||
|
||||
// Show execution status.
|
||||
|
@ -143,9 +140,11 @@ describe('Executions', () => {
|
|||
// Show execution URL.
|
||||
cy.get('.MuiPaper-root > :nth-child(4)').should('contain', 'https://example.com/path/to/file');
|
||||
|
||||
// Show execution piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
// Show failure task.
|
||||
cy.get('#failure-tasks').should('exist');
|
||||
|
||||
cy.get('#failure-tasks-list > :nth-child(1) > :nth-child(1)').should('contain', 'kind-worker');
|
||||
|
||||
// Go to next page.
|
||||
|
@ -153,9 +152,7 @@ describe('Executions', () => {
|
|||
|
||||
// Check the current page number.
|
||||
cy.get('#failure-tasks-pagination > .MuiPagination-ul .Mui-selected').should('have.text', '2');
|
||||
|
||||
cy.get('#failure-tasks-list').children().should('have.length', 1);
|
||||
|
||||
cy.get('#failure-tasks-list > .MuiTableRow-root > :nth-child(1)').should('have.text', 'dragonfly-seed-client-5');
|
||||
|
||||
// Refresh page.
|
||||
|
@ -165,16 +162,12 @@ describe('Executions', () => {
|
|||
|
||||
// Check the current page number.
|
||||
cy.get('#failure-tasks-pagination > .MuiPagination-ul .Mui-selected').should('have.text', '2');
|
||||
|
||||
cy.get('#failure-tasks-list').children().should('have.length', 1);
|
||||
|
||||
cy.get('#failure-tasks-list > .MuiTableRow-root > :nth-child(1)').should('have.text', 'dragonfly-seed-client-5');
|
||||
|
||||
// Show error log.
|
||||
cy.get('#error-log-icon').click();
|
||||
|
||||
cy.get('#panel1d-header').click();
|
||||
|
||||
cy.get('.MuiAccordionDetails-root').should(
|
||||
'contain',
|
||||
'task a1e21fceseba95d4407a83b3fc767da6de2a2fe35736c2ba3b95473229de1894 failed: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp 172.18.0.3:4000: connect: connection refused"',
|
||||
|
@ -183,7 +176,6 @@ describe('Executions', () => {
|
|||
|
||||
it('should display detailed execution pending information', () => {
|
||||
let interceptCount = 0;
|
||||
|
||||
cy.intercept(
|
||||
{
|
||||
method: 'GET',
|
||||
|
@ -197,14 +189,13 @@ describe('Executions', () => {
|
|||
interceptCount++;
|
||||
},
|
||||
).as('execution');
|
||||
|
||||
cy.get('#execution-11').click();
|
||||
|
||||
// Check for breadcrumb.
|
||||
cy.get('.MuiBreadcrumbs-ol').should('exist').and('contain', 11);
|
||||
|
||||
// Show execution id.
|
||||
cy.get('.MuiPaper-root > :nth-child(1)').should('contain', 11);
|
||||
cy.get('#id').should('contain', 11);
|
||||
|
||||
// Show execution status.
|
||||
cy.get('#status')
|
||||
|
@ -214,7 +205,6 @@ describe('Executions', () => {
|
|||
.and('exist')
|
||||
.find('#error-log-icon')
|
||||
.and('not.exist');
|
||||
|
||||
cy.wait(120000);
|
||||
|
||||
// Check how many times the API should be executed after six seconds.
|
||||
|
@ -245,6 +235,9 @@ describe('Executions', () => {
|
|||
.and('have.css', 'background-color', 'rgb(212, 37, 54)')
|
||||
.find('#error-log-icon')
|
||||
.and('exist');
|
||||
|
||||
// Show execution piece length.
|
||||
cy.get('#piece-length').should('have.text', '4 MiB');
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -268,28 +261,28 @@ describe('Executions', () => {
|
|||
|
||||
it('execution information should appear empty', () => {
|
||||
// Show execution id.
|
||||
cy.get(':nth-child(1) > .show_informationContent__KJR0m').should('have.text', 0);
|
||||
cy.get('#id').should('have.text', 0);
|
||||
|
||||
// Show execution status.
|
||||
cy.get('#status').should('not.exist');
|
||||
|
||||
// Show execution task id.
|
||||
cy.get(':nth-child(3) > .show_informationContent__KJR0m').should('have.text', '-');
|
||||
cy.get('#task-id').should('have.text', '-');
|
||||
|
||||
// Show execution url.
|
||||
cy.get('.show_urlContent__GX54w').should('have.text', '-');
|
||||
cy.get('#url').should('have.text', '-');
|
||||
|
||||
// Show execution piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
// Show execution tag.
|
||||
cy.get(':nth-child(5) > .show_informationContent__KJR0m.MuiBox-root > .MuiTypography-root').should(
|
||||
'have.text',
|
||||
'-',
|
||||
);
|
||||
cy.get('#tag').should('have.text', '-');
|
||||
|
||||
// Show execution scheduler clusters ID.
|
||||
cy.get(':nth-child(7) > :nth-child(2)').should('have.text', '-');
|
||||
cy.get('#scheduler-clusters-id').should('have.text', '-');
|
||||
|
||||
// Show execution Created At.
|
||||
cy.get(':nth-child(8) > :nth-child(2) > .MuiTypography-root').should('have.text', '-');
|
||||
cy.get('#created-at').should('have.text', '-');
|
||||
|
||||
// Don't show failure tasks.
|
||||
cy.get('#failure-tasks').should('not.exist');
|
||||
|
@ -324,22 +317,29 @@ describe('Executions', () => {
|
|||
|
||||
it('execution information should appear empty', () => {
|
||||
// Show execution id.
|
||||
cy.get(':nth-child(1) > .show_informationContent__KJR0m').should('have.text', 0);
|
||||
cy.get('#id').should('have.text', 0);
|
||||
|
||||
// Show execution status.
|
||||
cy.get('#status').should('not.exist');
|
||||
|
||||
// Show execution task id.
|
||||
cy.get(':nth-child(3) > .show_informationContent__KJR0m').should('have.text', '-');
|
||||
cy.get('#task-id').should('have.text', '-');
|
||||
|
||||
// Show execution url.
|
||||
cy.get('.show_urlContent__GX54w').should('have.text', '-');
|
||||
cy.get('#url').should('have.text', '-');
|
||||
|
||||
// Show execution piece length.
|
||||
cy.get('#piece-length').should('have.text', '-');
|
||||
|
||||
// Show execution tag.
|
||||
cy.get(':nth-child(5) > .show_informationContent__KJR0m.MuiBox-root > .MuiTypography-root').should(
|
||||
'have.text',
|
||||
'-',
|
||||
);
|
||||
cy.get('#tag').should('have.text', '-');
|
||||
|
||||
// Show execution scheduler clusters ID.
|
||||
cy.get(':nth-child(7) > :nth-child(2)').should('have.text', '-');
|
||||
cy.get('#scheduler-clusters-id').should('have.text', '-');
|
||||
|
||||
// Show execution Created At.
|
||||
cy.get(':nth-child(8) > :nth-child(2) > .MuiTypography-root').should('have.text', '-');
|
||||
cy.get('#created-at').should('have.text', '-');
|
||||
|
||||
// Don't show failure tasks.
|
||||
cy.get('#failure-tasks').should('not.exist');
|
||||
});
|
||||
|
@ -367,7 +367,7 @@ describe('Executions', () => {
|
|||
cy.get('.MuiBreadcrumbs-ol').should('exist').and('contain', 11);
|
||||
|
||||
// Show execution id.
|
||||
cy.get(':nth-child(1) > .show_informationContent__KJR0m').should('contain', 11);
|
||||
cy.get('#id').should('contain', 11);
|
||||
|
||||
// Show execution status.
|
||||
cy.get('#status')
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
[
|
||||
{
|
||||
{
|
||||
"id": 12,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
|
@ -21,7 +20,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -57,654 +57,4 @@
|
|||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status pending",
|
||||
"type": "preheat",
|
||||
"state": "PENDING",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "PENDING",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "PENDING",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"created_at": "2023-03-23T15:55:41+08:00",
|
||||
"updated_at": "2023-03-23T15:55:41+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_01f9f92f-02c7-477e-8360-a387407b73dd",
|
||||
"bio": "This is a preheat task with status failure",
|
||||
"type": "preheat",
|
||||
"state": "FAILURE",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "FAILURE",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "FAILURE",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status failure",
|
||||
"type": "preheat",
|
||||
"state": "FAILURE",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "FAILURE",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "FAILURE",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status success",
|
||||
"type": "preheat",
|
||||
"state": "SUCCESS",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "SUCCESS",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "SUCCESS",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status failure",
|
||||
"type": "preheat",
|
||||
"state": "FAILURE",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "FAILURE",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "FAILURE",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"created_at": "2023-03-23T15:55:41+08:00",
|
||||
"updated_at": "2023-03-23T15:55:41+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status success",
|
||||
"type": "preheat",
|
||||
"state": "SUCCESS",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "SUCCESS",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "SUCCESS",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status success",
|
||||
"type": "preheat",
|
||||
"state": "SUCCESS",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "SUCCESS",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "SUCCESS",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status success",
|
||||
"type": "preheat",
|
||||
"state": "SUCCESS",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "SUCCESS",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "SUCCESS",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status failure",
|
||||
"type": "preheat",
|
||||
"state": "FAILURE",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "FAILURE",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "FAILURE",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status success",
|
||||
"type": "preheat",
|
||||
"state": "SUCCESS",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "SUCCESS",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "SUCCESS",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"created_at": "2023-03-23T16:29:18+08:00",
|
||||
"updated_at": "2023-03-23T16:29:18+08:00",
|
||||
"is_del": 0,
|
||||
"task_id": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"bio": "This is a preheat task with status success",
|
||||
"type": "preheat",
|
||||
"state": "SUCCESS",
|
||||
"args": {
|
||||
"concurrent_count": 50,
|
||||
"filtered_query_params": "",
|
||||
"headers": {
|
||||
"Authorization": "Bearer yJhbGciOiJSUzI1NiIsImtpZCI6IjNEWT"
|
||||
},
|
||||
"password": "",
|
||||
"platform": "",
|
||||
"scope": "single_peer",
|
||||
"tag": "",
|
||||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"group_uuid": "group_7d8fec4c-6b8f-4240-9f56-71845d21d6a7",
|
||||
"job_states": [
|
||||
{
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
"error": "",
|
||||
"results": null,
|
||||
"state": "SUCCESS",
|
||||
"task_name": "preheat",
|
||||
"task_uuid": "task_d44f42d9-5b01-4f4a-a8dd-34331eefa84a",
|
||||
"ttl": 0
|
||||
}
|
||||
],
|
||||
"state": "SUCCESS",
|
||||
"updated_at": "2024-09-14T10:39:16.549159043Z"
|
||||
},
|
||||
"user_id": 0,
|
||||
"user": {
|
||||
"id": 0,
|
||||
"created_at": "0001-01-01T00:00:00Z",
|
||||
"updated_at": "0001-01-01T00:00:00Z",
|
||||
"is_del": 0,
|
||||
"email": "",
|
||||
"name": "",
|
||||
"avatar": "",
|
||||
"phone": "",
|
||||
"state": "",
|
||||
"location": "",
|
||||
"bio": "",
|
||||
"configs": null
|
||||
},
|
||||
"seed_peer_clusters": null,
|
||||
"scheduler_clusters": null
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "http://dock.io/preheat/test",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
|
|
@ -20,7 +20,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
|
|
@ -21,7 +21,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -80,7 +81,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "http://dock.io/preheat/test",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -139,7 +141,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -198,7 +201,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -257,7 +261,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -316,7 +321,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -375,7 +381,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -434,7 +441,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -493,7 +501,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -552,7 +561,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
@ -611,7 +621,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
|
|
@ -21,7 +21,8 @@
|
|||
"timeout": 1800000000000,
|
||||
"type": "file",
|
||||
"url": "https://example.com/path/to/file",
|
||||
"username": ""
|
||||
"username": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2023-03-23T08:29:18.204923418Z",
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
"filtered_query_params": "X-Amz-Algorithm\u0026X-Amz-Credential\u0026X-Amz-Date\u0026X-Amz-Expires\u0026X-Amz-SignedHeaders\u0026X-Amz-Signature\u0026X-Amz-Security-Token\u0026X-Amz-User-Agent\u0026X-Goog-Algorithm\u0026X-Goog-Credential\u0026X-Goog-Date\u0026X-Goog-Expires\u0026X-Goog-SignedHeaders\u0026X-Goog-Signature\u0026OSSAccessKeyId\u0026Expires\u0026Signature\u0026SecurityToken\u0026AccessKeyId\u0026Signature\u0026Expires\u0026X-Obs-Date\u0026X-Obs-Security-Token\u0026q-sign-algorithm\u0026q-ak\u0026q-sign-time\u0026q-key-time\u0026q-header-list\u0026q-url-param-list\u0026q-signature\u0026x-cos-security-token\u0026ns",
|
||||
"tag": "",
|
||||
"task_id": "",
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": null,
|
||||
"user_id": 0,
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
"tag": "",
|
||||
"task_id": "",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:02:44.836338419Z",
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"tag": "",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:07:46.676343295Z",
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
"tag": "execution-tag",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:07:46.676343295Z",
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"tag": "",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:07:46.676343295Z",
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
"filtered_query_params": "X-Amz-Algorithm&X-Amz-Credential&X-Amz-Date&X-Amz-Expires&X-Amz-SignedHeaders&X-Amz-Signature&X-Amz-Security-Token&X-Amz-User-Agent&X-Goog-Algorithm&X-Goog-Credential&X-Goog-Date&X-Goog-Expires&X-Goog-SignedHeaders&X-Goog-Signature&OSSAccessKeyId&Expires&Signature&SecurityToken&AccessKeyId&Signature&Expires&X-Obs-Date&X-Obs-Security-Token&q-sign-algorithm&q-ak&q-sign-time&q-key-time&q-header-list&q-url-param-list&q-signature&x-cos-security-token&ns",
|
||||
"tag": "",
|
||||
"task_id": "",
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-05T03:10:31.965787257Z",
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"tag": "",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:25:05.260432054Z",
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
"tag": "",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:07:46.676343295Z",
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"tag": "",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:07:46.676343295Z",
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
"filtered_query_params": "X-Amz-Algorithm\u0026X-Amz-Credential\u0026X-Amz-Date\u0026X-Amz-Expires\u0026X-Amz-SignedHeaders\u0026X-Amz-Signature\u0026X-Amz-Security-Token\u0026X-Amz-User-Agent\u0026X-Goog-Algorithm\u0026X-Goog-Credential\u0026X-Goog-Date\u0026X-Goog-Expires\u0026X-Goog-SignedHeaders\u0026X-Goog-Signature\u0026OSSAccessKeyId\u0026Expires\u0026Signature\u0026SecurityToken\u0026AccessKeyId\u0026Signature\u0026Expires\u0026X-Obs-Date\u0026X-Obs-Security-Token\u0026q-sign-algorithm\u0026q-ak\u0026q-sign-time\u0026q-key-time\u0026q-header-list\u0026q-url-param-list\u0026q-signature\u0026x-cos-security-token\u0026ns",
|
||||
"tag": "",
|
||||
"task_id": "",
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-02T10:39:33.32490896Z",
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
"tag": "",
|
||||
"task_id": "aea9af454bc33e61dd24647b0dd6d023195360a6b67c7c3e0feda4713819cc38",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T10:02:44.836338419Z",
|
||||
|
@ -123,7 +124,8 @@
|
|||
"tag": "",
|
||||
"task_id": "",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:59:49.07231163Z",
|
||||
|
@ -232,7 +234,8 @@
|
|||
"tag": "",
|
||||
"task_id": "",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:56:31.537420427Z",
|
||||
|
@ -341,7 +344,8 @@
|
|||
"tag": "",
|
||||
"task_id": "",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:54:04.883390304Z",
|
||||
|
@ -444,7 +448,8 @@
|
|||
"tag": "",
|
||||
"task_id": "",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:34:14.312378294Z",
|
||||
|
@ -547,7 +552,8 @@
|
|||
"tag": "",
|
||||
"task_id": "",
|
||||
"timeout": 1800000000000,
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:32:30.001617594Z",
|
||||
|
@ -650,7 +656,8 @@
|
|||
"tag": "",
|
||||
"task_id": "8c3dbd38fc7f4b3637d4e8ad8490ce107ac4cf2df81d45e7d33224f29ab4cf3d",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:28:11.774771335Z",
|
||||
|
@ -753,7 +760,8 @@
|
|||
"tag": "",
|
||||
"task_id": "8c3dbd38fc7f4b3637d4e8ad8490ce107ac4cf2df81d45e7d33224f29ab4cf3d",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:25:05.260432054Z",
|
||||
|
@ -856,7 +864,8 @@
|
|||
"tag": "",
|
||||
"task_id": "8c3dbd38fc7f4b3637d4e8ad8490ce107ac4cf2df81d45e7d33224f29ab4cf3d",
|
||||
"timeout": 1800000000000,
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-01T09:25:05.260432054Z",
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
"filtered_query_params": "X-Amz-Algorithm\u0026X-Amz-Credential\u0026X-Amz-Date\u0026X-Amz-Expires\u0026X-Amz-SignedHeaders\u0026X-Amz-Signature\u0026X-Amz-Security-Token\u0026X-Amz-User-Agent\u0026X-Goog-Algorithm\u0026X-Goog-Credential\u0026X-Goog-Date\u0026X-Goog-Expires\u0026X-Goog-SignedHeaders\u0026X-Goog-Signature\u0026OSSAccessKeyId\u0026Expires\u0026Signature\u0026SecurityToken\u0026AccessKeyId\u0026Signature\u0026Expires\u0026X-Obs-Date\u0026X-Obs-Security-Token\u0026q-sign-algorithm\u0026q-ak\u0026q-sign-time\u0026q-key-time\u0026q-header-list\u0026q-url-param-list\u0026q-signature\u0026x-cos-security-token\u0026ns",
|
||||
"tag": "",
|
||||
"task_id": "fe0c4a611d35e338efd342c346a2c671c358c5187c483a5fc7cd66c6685ce916",
|
||||
"url": ""
|
||||
"url": "",
|
||||
"piece_length": null
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-02T10:39:33.32490896Z",
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
"filtered_query_params": "X-Amz-Algorithm\u0026X-Amz-Credential\u0026X-Amz-Date\u0026X-Amz-Expires\u0026X-Amz-SignedHeaders\u0026X-Amz-Signature\u0026X-Amz-Security-Token\u0026X-Amz-User-Agent\u0026X-Goog-Algorithm\u0026X-Goog-Credential\u0026X-Goog-Date\u0026X-Goog-Expires\u0026X-Goog-SignedHeaders\u0026X-Goog-Signature\u0026OSSAccessKeyId\u0026Expires\u0026Signature\u0026SecurityToken\u0026AccessKeyId\u0026Signature\u0026Expires\u0026X-Obs-Date\u0026X-Obs-Security-Token\u0026q-sign-algorithm\u0026q-ak\u0026q-sign-time\u0026q-key-time\u0026q-header-list\u0026q-url-param-list\u0026q-signature\u0026x-cos-security-token\u0026ns",
|
||||
"tag": "",
|
||||
"task_id": "",
|
||||
"url": "https://example.com/path/to/file"
|
||||
"url": "https://example.com/path/to/file",
|
||||
"piece_length": 4194304
|
||||
},
|
||||
"result": {
|
||||
"created_at": "2024-11-02T10:39:33.32490896Z",
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
<svg t="1713358915325" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7190"
|
||||
width="200" height="200">
|
||||
<path
|
||||
d="M832 896H256c-35.2 0-64-28.8-64-64v-128.8c-8.8 0.8-18 1.2-26.8 0.4-79.2-6-138.8-75.2-133.2-154.4 2.8-38.4 20.4-73.2 49.6-98.4s66.4-37.6 104.8-34.8c2 0 3.6 0.4 5.6 0.4V288c0-35.2 28.8-64 64-64h144.8c-0.8-8.8-1.2-18-0.4-26.8 2.8-38 20.4-73.2 49.6-98.4 29.2-25.2 66.4-37.6 104.8-34.8 38.4 2.8 73.2 20.4 98.4 49.6s37.6 66.4 34.8 104.8c0 2-0.4 3.6-0.4 5.6H832c35.2 0 64 28.8 64 64v170.8c0 10.8-5.6 21.2-14.8 27.2-9.2 6-20.8 6.4-30.8 2-12.4-6-26.4-8.4-40-7.2-21.6 1.6-40.8 11.2-54.8 27.6-14 16-20.8 36.8-19.2 58 1.6 21.2 11.2 40.8 27.6 54.8 16 14 36.8 20.8 58 19.2 10-0.8 19.6-3.2 28.4-7.6 10-4.8 21.6-4 30.8 2s14.8 16 14.8 27.2V832c0 35.2-28.8 64-64 64zM224 629.2c6 0 12 1.6 17.2 4.8 9.2 6 14.8 16 14.8 27.2V832h576v-128.8c-2 0.4-3.6 0.4-5.6 0.4-38.4 2.8-75.6-9.6-104.8-34.8s-46.8-60-49.6-98.4c-2.8-38.4 9.6-75.6 34.8-104.8 25.2-29.2 60-46.8 98.4-49.6 8.8-0.8 18-0.4 26.8 0.4V288h-186.8c-10.8 0-21.2-5.6-27.2-14.8-6-9.2-6.4-20.8-2-30.8 4.4-9.2 6.8-18.8 7.6-28.4 1.6-21.2-5.2-42-19.2-58s-33.2-26-54.8-27.6c-21.2-1.6-42 5.2-58 19.2s-26 33.2-27.6 54.8c-1.2 14 1.6 28 7.2 40.4 4.8 10 4 21.6-2 30.8s-16 14.8-27.2 14.8H256v170.8c0 10.8-5.6 21.2-14.8 27.2-9.2 6-20.8 6.4-30.8 2-8.8-4.4-18.8-6.8-28.4-7.6-21.2-1.6-42 5.2-58 19.2s-26 33.2-27.6 54.8c-3.2 44 30 82.4 74 85.6 14 1.2 28-1.6 40.4-7.2 3.6-2.8 8.4-4 13.2-4z"
|
||||
p-id="7191" fill="currentColor"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
|
@ -23,6 +23,7 @@ import {
|
|||
Paper,
|
||||
SelectChangeEvent,
|
||||
Breadcrumbs,
|
||||
InputAdornment,
|
||||
} from '@mui/material';
|
||||
import { useEffect, useState } from 'react';
|
||||
import HelpIcon from '@mui/icons-material/Help';
|
||||
|
@ -44,6 +45,7 @@ export default function NewPreheat() {
|
|||
const [urlError, setURLError] = useState(false);
|
||||
const [tagError, setTagError] = useState(false);
|
||||
const [filterError, setFilterError] = useState(false);
|
||||
const [pieceLengthError, setPieceLengthError] = useState(false);
|
||||
const [loadingButton, setLoadingButton] = useState(false);
|
||||
const [headers, setheaders] = useState<Array<{ key: string; value: string }>>([]);
|
||||
const [cluster, setCluster] = useState([{ id: 0, name: '' }]);
|
||||
|
@ -111,6 +113,54 @@ export default function NewPreheat() {
|
|||
];
|
||||
|
||||
const argsForm = [
|
||||
{
|
||||
formProps: {
|
||||
id: 'pieceLength',
|
||||
label: 'Piece Length',
|
||||
name: 'pieceLength',
|
||||
autoComplete: 'family-name',
|
||||
placeholder: 'Piece Length',
|
||||
helperText: pieceLengthError ? 'Please enter a value between 4 and 1024 MiB.' : '',
|
||||
error: pieceLengthError,
|
||||
InputProps: {
|
||||
endAdornment: (
|
||||
<>
|
||||
<InputAdornment position="start">
|
||||
<Typography sx={{ fontFamily: 'mabry-bold', color: 'var(--palette-sidebar-menu-color)' }}>
|
||||
MiB
|
||||
</Typography>
|
||||
</InputAdornment>
|
||||
<Tooltip
|
||||
title={
|
||||
'By setting the piece length, you can define the size of each piece downloaded during preheating. If unspecified, it’s calculated based on content length, defaulting to 4-16 MiB.'
|
||||
}
|
||||
placement="top"
|
||||
>
|
||||
<HelpIcon
|
||||
sx={{
|
||||
color: 'var(--palette-grey-300Channel)',
|
||||
width: '0.8rem',
|
||||
height: '0.8rem',
|
||||
':hover': { color: 'var(--palette-description-color)' },
|
||||
}}
|
||||
/>
|
||||
</Tooltip>
|
||||
</>
|
||||
),
|
||||
},
|
||||
|
||||
onChange: (e: any) => {
|
||||
changeValidate(e.target.value, argsForm[0]);
|
||||
},
|
||||
},
|
||||
syncError: false,
|
||||
setError: setPieceLengthError,
|
||||
|
||||
validate: (value: string) => {
|
||||
const reg = /^(?:|[4-9]|[1-9]\d{1,2}|10[0-1]\d|102[0-4])$/;
|
||||
return reg.test(value);
|
||||
},
|
||||
},
|
||||
{
|
||||
formProps: {
|
||||
id: 'tag',
|
||||
|
@ -142,7 +192,7 @@ export default function NewPreheat() {
|
|||
),
|
||||
},
|
||||
onChange: (e: any) => {
|
||||
changeValidate(e.target.value, argsForm[0]);
|
||||
changeValidate(e.target.value, argsForm[1]);
|
||||
},
|
||||
},
|
||||
syncError: false,
|
||||
|
@ -178,7 +228,7 @@ export default function NewPreheat() {
|
|||
),
|
||||
},
|
||||
onChange: (e: any) => {
|
||||
changeValidate(e.target.value, argsForm[1]);
|
||||
changeValidate(e.target.value, argsForm[2]);
|
||||
},
|
||||
},
|
||||
syncError: false,
|
||||
|
@ -196,13 +246,13 @@ export default function NewPreheat() {
|
|||
value: filter,
|
||||
options: [],
|
||||
onChange: (_e: any, newValue: any) => {
|
||||
if (!argsForm[2].formProps.error) {
|
||||
if (!argsForm[3].formProps.error) {
|
||||
setFilter(newValue);
|
||||
}
|
||||
},
|
||||
onInputChange: (e: any) => {
|
||||
setFilterHelperText('Fill in the characters, the length is 0-100.');
|
||||
changeValidate(e.target.value, argsForm[2]);
|
||||
changeValidate(e.target.value, argsForm[3]);
|
||||
},
|
||||
|
||||
renderTags: (value: any, getTagProps: any) =>
|
||||
|
@ -280,6 +330,7 @@ export default function NewPreheat() {
|
|||
const url = event.currentTarget.elements.url.value;
|
||||
const tag = event.currentTarget.elements.tag.value;
|
||||
const filterText = event.currentTarget.elements.filteredQueryParams.value;
|
||||
const pieceLength = event.currentTarget.elements.pieceLength.value;
|
||||
const filters = filter.join('&');
|
||||
|
||||
const data = new FormData(event.currentTarget);
|
||||
|
@ -345,15 +396,16 @@ export default function NewPreheat() {
|
|||
filtered_query_params: filters,
|
||||
headers: headerList,
|
||||
scope: scope,
|
||||
...(pieceLength && pieceLength !== 0 && { piece_length: pieceLength * 1024 * 1024 }),
|
||||
},
|
||||
scheduler_cluster_ids: clusterID,
|
||||
};
|
||||
|
||||
if (canSubmit) {
|
||||
try {
|
||||
await createJob({ ...formDate });
|
||||
const job = await createJob({ ...formDate });
|
||||
setLoadingButton(false);
|
||||
navigate('/jobs/preheats');
|
||||
navigate(`/jobs/preheats/${job.id}`);
|
||||
} catch (error) {
|
||||
if (error instanceof Error) {
|
||||
setLoadingButton(false);
|
||||
|
@ -515,29 +567,6 @@ export default function NewPreheat() {
|
|||
</Tooltip>
|
||||
</Box>
|
||||
<Box sx={{ display: 'flex', flexWrap: 'wrap' }}>
|
||||
<FormControl className={styles.textField} margin="normal" color="success" required size="small">
|
||||
<InputLabel id="scope">Scope</InputLabel>
|
||||
<Select
|
||||
id="select-scope"
|
||||
label="scope"
|
||||
value={scope}
|
||||
onChange={handleSelectScope}
|
||||
MenuProps={{
|
||||
PaperProps: {
|
||||
style: {
|
||||
maxHeight: '14rem',
|
||||
width: '18rem',
|
||||
},
|
||||
},
|
||||
}}
|
||||
>
|
||||
{scopeList.map((item: any) => (
|
||||
<MenuItem id={item.name} key={item.name} value={item.name} sx={{ height: '2.6rem' }}>
|
||||
{item.label}
|
||||
</MenuItem>
|
||||
))}
|
||||
</Select>
|
||||
</FormControl>
|
||||
{argsForm.map((item) => {
|
||||
return item.id === 'filteredQueryParams' ? (
|
||||
<Box key={item.formProps.id} sx={{ width: '100%' }}>
|
||||
|
@ -582,16 +611,40 @@ export default function NewPreheat() {
|
|||
)}
|
||||
/>
|
||||
</Box>
|
||||
) : item.formProps.id === 'tag' ? (
|
||||
) : item.formProps.id === 'pieceLength' ? (
|
||||
<Box>
|
||||
<TextField
|
||||
key={item.formProps.id}
|
||||
color="success"
|
||||
margin="normal"
|
||||
size="small"
|
||||
{...item.formProps}
|
||||
sx={{ marginLeft: '1rem' }}
|
||||
sx={{ width: '11rem', mr: '1rem' }}
|
||||
className={styles.textField}
|
||||
/>
|
||||
<FormControl sx={{ width: '25rem' }} margin="normal" color="success" required size="small">
|
||||
<InputLabel id="scope">Scope</InputLabel>
|
||||
<Select
|
||||
id="select-scope"
|
||||
label="scope"
|
||||
value={scope}
|
||||
onChange={handleSelectScope}
|
||||
MenuProps={{
|
||||
PaperProps: {
|
||||
style: {
|
||||
maxHeight: '14rem',
|
||||
width: '18rem',
|
||||
},
|
||||
},
|
||||
}}
|
||||
>
|
||||
{scopeList.map((item: any) => (
|
||||
<MenuItem id={item.name} key={item.name} value={item.name} sx={{ height: '2.6rem' }}>
|
||||
{item.label}
|
||||
</MenuItem>
|
||||
))}
|
||||
</Select>
|
||||
</FormControl>
|
||||
</Box>
|
||||
) : (
|
||||
<Box key={item.formProps.id} sx={{ width: '100%' }}>
|
||||
<TextField
|
||||
|
|
|
@ -39,6 +39,7 @@ import { ReactComponent as Failure } from '../../../assets/images/job/preheat/fa
|
|||
import { ReactComponent as Pending } from '../../../assets/images/job/preheat/pending.svg';
|
||||
import { ReactComponent as ErrorLog } from '../../../assets/images/job/preheat/error-log.svg';
|
||||
import { ReactComponent as TagScope } from '../../../assets/images/job/preheat/tag-scope.svg';
|
||||
import { ReactComponent as PieceLength } from '../../../assets/images/job/preheat/piece-length.svg';
|
||||
|
||||
const CustomWidthTooltip = styled(({ className, ...props }: TooltipProps) => (
|
||||
<Tooltip {...props} classes={{ popper: className }} />
|
||||
|
@ -301,6 +302,28 @@ export default function ShowPreheat() {
|
|||
</Typography>
|
||||
</CustomWidthTooltip>
|
||||
</Box>
|
||||
<Box className={styles.informationContainer}>
|
||||
<Box className={styles.informationTitle}>
|
||||
<PieceLength className={styles.informationTitleIcon} />
|
||||
<Typography
|
||||
variant="body1"
|
||||
fontFamily="mabry-bold"
|
||||
component="div"
|
||||
className={styles.informationTitleText}
|
||||
>
|
||||
Piece Length
|
||||
</Typography>
|
||||
</Box>
|
||||
<Typography id="piece-length" variant="body1" className={styles.informationContent}>
|
||||
{isLoading ? (
|
||||
<Skeleton sx={{ width: '4rem' }} />
|
||||
) : preheat?.args?.piece_length ? (
|
||||
`${Number(preheat?.args?.piece_length) / 1024 / 1024} MiB`
|
||||
) : (
|
||||
'-'
|
||||
)}
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box className={styles.informationContainer}>
|
||||
<Box className={styles.informationTitle}>
|
||||
<Scope className={styles.informationTitleIcon} />
|
||||
|
@ -318,8 +341,7 @@ export default function ShowPreheat() {
|
|||
<Skeleton data-testid="preheat-isloading" sx={{ width: '2rem' }} />
|
||||
) : scope ? (
|
||||
<Box className={styles.scopeContent}>
|
||||
<TagScope className={styles.informationTitleIcon} />
|
||||
<Typography variant="body2" component="div" fontFamily="mabry-bold" pl="0.2rem">
|
||||
<Typography variant="body2" component="div" fontFamily="mabry-bold">
|
||||
{scope.label || '-'}
|
||||
</Typography>
|
||||
</Box>
|
||||
|
@ -414,11 +436,9 @@ export default function ShowPreheat() {
|
|||
<Box id="scheduler-lusters-id" className={styles.schedulerClustersID}>
|
||||
{preheat?.scheduler_clusters?.map((item, index) => {
|
||||
return (
|
||||
<Box className={styles.schedulerClustersIDContent}>
|
||||
<Typography key={index} variant="body2" component="div" fontFamily="mabry-bold">
|
||||
<Typography key={index} variant="body1" component="div" fontFamily="mabry-bold" ml="0.5rem">
|
||||
{isLoading ? <Skeleton data-testid="preheat-isloading" sx={{ width: '4rem' }} /> : item.id || '-'}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
}) || '-'}
|
||||
</Box>
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
.filterInput {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.textField {
|
||||
|
|
|
@ -19,6 +19,7 @@ import {
|
|||
toggleButtonGroupClasses,
|
||||
Pagination,
|
||||
useTheme,
|
||||
InputAdornment,
|
||||
} from '@mui/material';
|
||||
import styles from './index.module.css';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
@ -79,12 +80,19 @@ export default function Clear() {
|
|||
const [taskIDError, setTaskIDError] = useState(false);
|
||||
const [applicationError, setApplicationError] = useState(false);
|
||||
const [tagError, setTagError] = useState(false);
|
||||
const [pieceLengthError, setPieceLengthError] = useState(false);
|
||||
const [filterError, setFilterError] = useState(false);
|
||||
const [filterHelperText, setFilterHelperText] = useState('Fill in the characters, the length is 0-100.');
|
||||
const [search, setSearch] = useState<string | null>('url');
|
||||
const [searchID, setSearchID] = useState(0);
|
||||
const [taskPages, setTaskPages] = useState<any>({});
|
||||
const [searchData, setSearchDada] = useState({ url: '', tag: '', application: '', filtered_query_params: '' });
|
||||
const [searchData, setSearchDada] = useState({
|
||||
url: '',
|
||||
tag: '',
|
||||
application: '',
|
||||
filtered_query_params: '',
|
||||
piece_length: 0,
|
||||
});
|
||||
|
||||
const { url, tag, application, filtered_query_params } = searchData;
|
||||
const navigate = useNavigate();
|
||||
|
@ -201,6 +209,45 @@ export default function Clear() {
|
|||
};
|
||||
|
||||
const formList = [
|
||||
{
|
||||
formProps: {
|
||||
id: 'pieceLength',
|
||||
labels: 'Piece Length',
|
||||
name: 'pieceLength',
|
||||
autoComplete: 'family-name',
|
||||
placeholder: 'Piece Length',
|
||||
helperText: pieceLengthError ? 'Please enter a value between 4 and 1024 MiB.' : '',
|
||||
error: pieceLengthError,
|
||||
InputProps: (
|
||||
<Tooltip
|
||||
title={
|
||||
'When the task URLs are the same but the Piece Length is different, they will be distinguished based on the Piece Length, and the queried tasks will also be different.'
|
||||
}
|
||||
placement="top"
|
||||
>
|
||||
<HelpIcon
|
||||
sx={{
|
||||
color: 'var(--palette-grey-300Channel)',
|
||||
width: '0.8rem',
|
||||
height: '0.8rem',
|
||||
':hover': { color: 'var(--palette-description-color)' },
|
||||
}}
|
||||
/>
|
||||
</Tooltip>
|
||||
),
|
||||
onChange: (e: any) => {
|
||||
changeValidate(e.target.value, formList[0]);
|
||||
setSearchDada({ ...searchData, piece_length: e.target.value });
|
||||
},
|
||||
},
|
||||
syncError: false,
|
||||
setError: setPieceLengthError,
|
||||
|
||||
validate: (value: string) => {
|
||||
const reg = /^(?:|[4-9]|[1-9]\d{1,2}|10[0-1]\d|102[0-4])$/;
|
||||
return reg.test(value);
|
||||
},
|
||||
},
|
||||
{
|
||||
formProps: {
|
||||
id: 'tag',
|
||||
|
@ -230,7 +277,7 @@ export default function Clear() {
|
|||
),
|
||||
|
||||
onChange: (e: any) => {
|
||||
changeValidate(e.target.value, formList[0]);
|
||||
changeValidate(e.target.value, formList[1]);
|
||||
setSearchDada({ ...searchData, tag: e.target.value });
|
||||
},
|
||||
},
|
||||
|
@ -266,7 +313,7 @@ export default function Clear() {
|
|||
),
|
||||
|
||||
onChange: (e: any) => {
|
||||
changeValidate(e.target.value, formList[1]);
|
||||
changeValidate(e.target.value, formList[2]);
|
||||
setSearchDada({ ...searchData, application: e.target.value });
|
||||
},
|
||||
},
|
||||
|
@ -287,14 +334,14 @@ export default function Clear() {
|
|||
options: [],
|
||||
|
||||
onChange: (_e: any, newValue: any) => {
|
||||
if (!formList[2].formProps.error) {
|
||||
if (!formList[3].formProps.error) {
|
||||
setSearchDada({ ...searchData, filtered_query_params: newValue.join('&') });
|
||||
}
|
||||
},
|
||||
|
||||
onInputChange: (e: any) => {
|
||||
setFilterHelperText('Fill in the characters, the length is 0-100.');
|
||||
changeValidate(e.target.value, formList[2]);
|
||||
changeValidate(e.target.value, formList[3]);
|
||||
},
|
||||
|
||||
renderTags: (value: any, getTagProps: any) =>
|
||||
|
@ -407,6 +454,8 @@ export default function Clear() {
|
|||
tag: task?.args?.tag,
|
||||
application: task?.args?.application,
|
||||
filtered_query_params: task?.args?.filtered_query_params,
|
||||
...(searchData.piece_length &&
|
||||
searchData.piece_length !== 0 && { piece_length: searchData.piece_length * 1024 * 1024 }),
|
||||
},
|
||||
scheduler_cluster_ids: [schedulerClusterID],
|
||||
type: 'delete_task',
|
||||
|
@ -503,6 +552,7 @@ export default function Clear() {
|
|||
|
||||
const data = new FormData(event.currentTarget);
|
||||
const filterText = event.currentTarget.elements.filteredQueryParams?.value;
|
||||
|
||||
formList.forEach((item) => {
|
||||
const value = data.get(item.formProps.name);
|
||||
item.setError(!item.validate(value as string));
|
||||
|
@ -541,6 +591,8 @@ export default function Clear() {
|
|||
tag: searchData.tag,
|
||||
application: searchData.application,
|
||||
filtered_query_params: searchData.filtered_query_params,
|
||||
...(searchData.piece_length &&
|
||||
searchData.piece_length !== 0 && { piece_length: searchData.piece_length * 1024 * 1024 }),
|
||||
},
|
||||
type: 'get_task',
|
||||
};
|
||||
|
@ -580,7 +632,9 @@ export default function Clear() {
|
|||
|
||||
const handleCloseSearch = () => {
|
||||
setOptional(false);
|
||||
setSearchDada({ url: '', tag: '', application: '', filtered_query_params: '' });
|
||||
setSearchDada({ url: '', tag: '', application: '', filtered_query_params: '', piece_length: 0 });
|
||||
setPieceLengthError(false);
|
||||
setUrlError(false);
|
||||
};
|
||||
|
||||
const handleChangeSearch = (event: React.MouseEvent<HTMLElement>, newAlignment: string | null) => {
|
||||
|
@ -589,7 +643,7 @@ export default function Clear() {
|
|||
}
|
||||
setOptional(false);
|
||||
setSearchTask('');
|
||||
setSearchDada({ url: '', tag: '', application: '', filtered_query_params: '' });
|
||||
setSearchDada({ url: '', tag: '', application: '', filtered_query_params: '', piece_length: 0 });
|
||||
};
|
||||
|
||||
const handlePageChange = (peerId: any, newPage: any) => {
|
||||
|
@ -644,9 +698,7 @@ export default function Clear() {
|
|||
'&:hover': {
|
||||
backgroundColor: 'transparent',
|
||||
},
|
||||
// textTransform: 'none',
|
||||
p: '0.3rem 0.5rem',
|
||||
// width: '11.5rem',
|
||||
color: 'var(--palette-dark-400Channel)',
|
||||
}}
|
||||
>
|
||||
|
@ -669,9 +721,7 @@ export default function Clear() {
|
|||
'&:hover': {
|
||||
backgroundColor: 'transparent',
|
||||
},
|
||||
// textTransform: 'none',
|
||||
p: '0.3rem 0.5rem',
|
||||
// width: '11.5rem',
|
||||
color: 'var(--palette-dark-400Channel)',
|
||||
}}
|
||||
>
|
||||
|
@ -681,11 +731,10 @@ export default function Clear() {
|
|||
</StyledToggleButtonGroup>
|
||||
</Paper>
|
||||
{search === 'task-id' ? (
|
||||
<Box component="form" onSubmit={handleSearchByTaskID} sx={{ width: '38rem', height: '3rem' }}>
|
||||
<Box key="task-id" component="form" onSubmit={handleSearchByTaskID} sx={{ width: '38rem', height: '3rem' }}>
|
||||
<TextField fullWidth variant="outlined" size="small" {...taskIDList.formProps} sx={{ p: 0 }} />
|
||||
</Box>
|
||||
) : (
|
||||
<>
|
||||
<Box sx={{ position: 'relative', height: '3rem' }}>
|
||||
<Paper
|
||||
component="form"
|
||||
|
@ -706,6 +755,7 @@ export default function Clear() {
|
|||
onFocus={(e) => {
|
||||
setOptional(true);
|
||||
}}
|
||||
key="url"
|
||||
/>
|
||||
|
||||
{optional ? (
|
||||
|
@ -754,13 +804,26 @@ export default function Clear() {
|
|||
size="small"
|
||||
renderInput={(params) => <TextField {...params} margin="normal" {...item.formProps} />}
|
||||
/>
|
||||
) : (
|
||||
) : item.formProps.id === 'pieceLength' ? (
|
||||
<TextField
|
||||
sx={{ width: '10.8rem' }}
|
||||
margin="normal"
|
||||
size="small"
|
||||
{...item.formProps}
|
||||
className={styles.textField}
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="start">
|
||||
<Typography
|
||||
sx={{ fontFamily: 'mabry-bold', color: 'var(--palette-sidebar-menu-color)' }}
|
||||
>
|
||||
MiB
|
||||
</Typography>
|
||||
</InputAdornment>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
<TextField margin="normal" size="small" {...item.formProps} className={styles.textField} />
|
||||
)}
|
||||
</Box>
|
||||
);
|
||||
|
@ -783,7 +846,6 @@ export default function Clear() {
|
|||
)}
|
||||
</Paper>
|
||||
</Box>
|
||||
</>
|
||||
)}
|
||||
{isLoading ? (
|
||||
<Box id="isLoading" sx={{ mt: '4rem' }}>
|
||||
|
@ -896,8 +958,7 @@ export default function Clear() {
|
|||
<Box id={`cache-${index}`}>
|
||||
{currentPageData?.map((item: any, index: number) => {
|
||||
return index !== currentPageData.length - 1 ? (
|
||||
<>
|
||||
<Box sx={{ p: '1rem', display: 'flex', alignItems: 'center' }}>
|
||||
<Box key={index} sx={{ p: '1rem', display: 'flex', alignItems: 'center' }}>
|
||||
<Box width="20%" sx={{ display: 'flex', alignItems: 'center', pb: '0.4rem' }}>
|
||||
<Box>
|
||||
<Tooltip title={item?.hostname || '-'} placement="top">
|
||||
|
@ -949,9 +1010,8 @@ export default function Clear() {
|
|||
</Box>
|
||||
<Divider />
|
||||
</Box>
|
||||
</>
|
||||
) : (
|
||||
<Box sx={{ p: '1rem', display: 'flex', alignItems: 'center' }}>
|
||||
<Box key={index} sx={{ p: '1rem', display: 'flex', alignItems: 'center' }}>
|
||||
<Box width="20%" sx={{ display: 'flex', alignItems: 'center', pb: '0.4rem' }}>
|
||||
<Box>
|
||||
<Tooltip title={item?.hostname || '-'} placement="top">
|
||||
|
|
|
@ -46,6 +46,7 @@ import { ReactComponent as TaskID } from '../../../../assets/images/job/task/tas
|
|||
import { ReactComponent as Application } from '../../../../assets/images/job/task/type.svg';
|
||||
import { ReactComponent as IP } from '../../../../assets/images/job/task/ip.svg';
|
||||
import { ReactComponent as CheckLog } from '../../../../assets/images/job/task/error-log.svg';
|
||||
import { ReactComponent as PieceLength } from '../../../../assets/images/job/preheat/piece-length.svg';
|
||||
|
||||
const CustomWidthTooltip = styled(({ className, ...props }: TooltipProps) => (
|
||||
<Tooltip {...props} classes={{ popper: className }} />
|
||||
|
@ -257,7 +258,7 @@ export default function ShowExecutions() {
|
|||
ID
|
||||
</Typography>
|
||||
</Box>
|
||||
<Typography variant="body1" className={styles.informationContent}>
|
||||
<Typography id="id" variant="body1" className={styles.informationContent}>
|
||||
{isLoading ? <Skeleton data-testid="execution-isloading" sx={{ width: '2rem' }} /> : executions?.id || 0}
|
||||
</Typography>
|
||||
</Box>
|
||||
|
@ -350,7 +351,7 @@ export default function ShowExecutions() {
|
|||
Task ID
|
||||
</Typography>
|
||||
</Box>
|
||||
<Typography variant="body1" className={styles.informationContent}>
|
||||
<Typography id="task-id" variant="body1" className={styles.informationContent}>
|
||||
{isLoading ? (
|
||||
<Skeleton data-testid="execution-isloading" sx={{ width: '2rem' }} />
|
||||
) : (
|
||||
|
@ -369,12 +370,29 @@ export default function ShowExecutions() {
|
|||
<Skeleton data-testid="execution-isloading" sx={{ width: '4rem' }} />
|
||||
) : (
|
||||
<CustomWidthTooltip title={executions?.args?.url || '-'} placement="bottom">
|
||||
<Typography variant="body1" component="div" className={styles.urlContent}>
|
||||
<Typography id="url" variant="body1" component="div" className={styles.urlContent}>
|
||||
{executions?.args?.url || '-'}
|
||||
</Typography>
|
||||
</CustomWidthTooltip>
|
||||
)}
|
||||
</Box>
|
||||
<Box className={styles.informationContainer}>
|
||||
<Box className={styles.informationTitle}>
|
||||
<PieceLength className={styles.informationTitleIcon} />
|
||||
<Typography variant="body1" fontFamily="mabry-bold" component="div" className={styles.informationTitleText}>
|
||||
Piece Length
|
||||
</Typography>
|
||||
</Box>
|
||||
<Typography id="piece-length" variant="body1" className={styles.informationContent}>
|
||||
{isLoading ? (
|
||||
<Skeleton sx={{ width: '4rem' }} />
|
||||
) : executions?.args?.piece_length ? (
|
||||
`${Number(executions?.args?.piece_length) / 1024 / 1024} MiB`
|
||||
) : (
|
||||
'-'
|
||||
)}
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box className={styles.informationContainer}>
|
||||
<Box className={styles.informationTitle}>
|
||||
<Tag className={styles.informationTitleIcon} />
|
||||
|
@ -387,6 +405,7 @@ export default function ShowExecutions() {
|
|||
<Skeleton data-testid="execution-isloading" sx={{ width: '4rem' }} />
|
||||
) : executions?.args?.tag ? (
|
||||
<Chip
|
||||
id="tag"
|
||||
label={executions?.args?.tag}
|
||||
size="small"
|
||||
variant="outlined"
|
||||
|
@ -400,7 +419,7 @@ export default function ShowExecutions() {
|
|||
}}
|
||||
/>
|
||||
) : (
|
||||
<Typography variant="body1" className={styles.informationContent}>
|
||||
<Typography id="tag" variant="body1" className={styles.informationContent}>
|
||||
-
|
||||
</Typography>
|
||||
)}
|
||||
|
@ -414,7 +433,7 @@ export default function ShowExecutions() {
|
|||
</Typography>
|
||||
</Box>
|
||||
<Box className={styles.informationContent} sx={{ display: 'flex', flexWrap: 'wrap' }}>
|
||||
<Typography variant="body1" className={styles.informationContent}>
|
||||
<Typography id="application" variant="body1" className={styles.informationContent}>
|
||||
{isLoading ? (
|
||||
<Skeleton data-testid="execution-isloading" sx={{ width: '4rem' }} />
|
||||
) : (
|
||||
|
@ -430,17 +449,15 @@ export default function ShowExecutions() {
|
|||
Scheduler Clusters ID
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box className={styles.schedulerClustersID}>
|
||||
<Box id="scheduler-clusters-id" className={styles.schedulerClustersID}>
|
||||
{isLoading ? (
|
||||
<Skeleton data-testid="execution-isloading" sx={{ width: '4rem' }} />
|
||||
) : (
|
||||
executions?.scheduler_clusters?.map((item: any, index: number) => {
|
||||
return (
|
||||
<Box className={styles.schedulerClustersIDContent}>
|
||||
<Typography key={index} variant="body2" component="div" fontFamily="mabry-bold">
|
||||
<Typography key={index} variant="body2" component="div" fontFamily="mabry-bold" ml="0.5rem">
|
||||
{item.id || '-'}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
}) || '-'
|
||||
)}
|
||||
|
@ -458,13 +475,14 @@ export default function ShowExecutions() {
|
|||
<Skeleton data-testid="execution-isloading" sx={{ width: '2rem' }} />
|
||||
) : executions?.created_at ? (
|
||||
<Chip
|
||||
id="created-at"
|
||||
avatar={<MoreTimeIcon />}
|
||||
label={getBJTDatetime(executions?.created_at || '0')}
|
||||
variant="outlined"
|
||||
size="small"
|
||||
/>
|
||||
) : (
|
||||
<Typography variant="body1" className={styles.informationContent}>
|
||||
<Typography id="created-at" variant="body1" className={styles.informationContent}>
|
||||
-
|
||||
</Typography>
|
||||
)}
|
||||
|
|
|
@ -781,6 +781,7 @@ export interface JobsResponse {
|
|||
timeout: number;
|
||||
type: string;
|
||||
url: string;
|
||||
piece_length: number;
|
||||
username: string;
|
||||
};
|
||||
result: {
|
||||
|
@ -846,6 +847,7 @@ export interface getJobResponse {
|
|||
timeout: number;
|
||||
type: string;
|
||||
url: string;
|
||||
piece_length: number;
|
||||
username: string;
|
||||
};
|
||||
result: {
|
||||
|
@ -889,6 +891,7 @@ interface createJobRequest {
|
|||
tag: string;
|
||||
filtered_query_params: string;
|
||||
headers?: { [key: string]: string } | null;
|
||||
piece_length?: number;
|
||||
};
|
||||
scheduler_cluster_ids: Array<number>;
|
||||
}
|
||||
|
@ -908,6 +911,7 @@ interface cerateJobResponse {
|
|||
tag: string;
|
||||
type: string;
|
||||
url: string;
|
||||
piece_length: number;
|
||||
};
|
||||
result: string;
|
||||
}
|
||||
|
@ -1111,6 +1115,7 @@ export interface getTaskJobResponse {
|
|||
task_id: string;
|
||||
timeout?: number;
|
||||
url?: string;
|
||||
piece_length?: number;
|
||||
};
|
||||
result: {
|
||||
created_at: string;
|
||||
|
|
Loading…
Reference in New Issue