Skip to content

Commit 7f917d5

Browse files
committed
Simplify and add time duration
1 parent 6e87cfc commit 7f917d5

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

index.js

+22-18
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ async function runWorkflowAsync() {
1717
);
1818
const containerName = core.getInput('azure-storage-container-name');
1919
const containerClient = blobServiceClient.getContainerClient(containerName);
20-
const triggerFileId = uuidv4();
21-
const blobName = `new/${triggerFileId}.json`;
22-
const failedBlobPrefix = `failed/${triggerFileId}`;
23-
const succeededBlobPrefix = `succeeded/${triggerFileId}`;
20+
const clientWorkflowId = uuidv4();
21+
const blobName = `new/${clientWorkflowId}.json`;
22+
const failedBlobPrefix = `failed/${clientWorkflowId}`;
23+
const succeededBlobPrefix = `succeeded/${clientWorkflowId}`;
2424
const blockBlobClient = containerClient.getBlockBlobClient(blobName);
2525

2626
const data = {
@@ -31,10 +31,11 @@ async function runWorkflowAsync() {
3131
};
3232

3333
const jsonData = JSON.stringify(data);
34+
const startTime = Date.now();
3435

3536
try {
3637
await blockBlobClient.upload(jsonData, jsonData.length);
37-
console.log(`Blob was uploaded successfully. URL: ${blockBlobClient.url}`);
38+
console.log(`Trigger file created: ${blockBlobClient.url}`);
3839
} catch (error) {
3940
core.setFailed(`Error uploading blob: ${error.message}`);
4041
return;
@@ -45,23 +46,19 @@ async function runWorkflowAsync() {
4546
// Loop until the workflow is done
4647
while (!isDone) {
4748
try {
48-
for await (const blob of containerClient.listBlobsFlat({ prefix: succeededBlobPrefix })) {
49-
if (blob.name.startsWith(succeededBlobPrefix)) {
50-
console.log('Workflow succeeded.');
51-
core.setOutput("status", "succeeded");
52-
isDone = true
53-
break;
54-
}
49+
for await (const {} of containerClient.listBlobsFlat({ prefix: succeededBlobPrefix })) {
50+
console.log('Workflow succeeded.');
51+
core.setOutput("status", "succeeded");
52+
isDone = true
53+
break;
5554
}
5655

5756
if (isDone) break;
5857

59-
for await (const blob of containerClient.listBlobsFlat({ prefix: failedBlobPrefix })) {
60-
if (blob.name.startsWith(failedBlobPrefix)) {
61-
core.setFailed('Workflow failed.');
62-
isDone = true;
63-
break;
64-
}
58+
for await (const {} of containerClient.listBlobsFlat({ prefix: failedBlobPrefix })) {
59+
core.setFailed('Workflow failed.');
60+
isDone = true;
61+
break;
6562
}
6663

6764
if (isDone) break;
@@ -72,6 +69,13 @@ async function runWorkflowAsync() {
7269
await new Promise(resolve => setTimeout(resolve, 30000)); // wait 30 seconds before checking again
7370
}
7471

72+
const endTime = Date.now();
73+
const duration = (endTime - startTime) / 1000; // Duration in seconds
74+
const hours = Math.floor(duration / 3600); // Calculate hours
75+
const minutes = Math.floor((duration % 3600) / 60); // Calculate minutes
76+
const seconds = Math.floor(duration % 60); // Calculate seconds
77+
78+
console.log(`Workflow completed in ${hours}h ${minutes}m ${seconds}s`);
7579
}
7680

7781
async function run() {

0 commit comments

Comments
 (0)