Skip to content

Commit 4429fd8

Browse files
committed
fix: Added concurrency and public flags
1 parent 58f835e commit 4429fd8

File tree

3 files changed

+27
-12
lines changed

3 files changed

+27
-12
lines changed

apps/artisan/src/lib/s3.ts

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ const client = new S3({
3232
export async function s3UploadFile(
3333
localPath: string,
3434
remotePath: string,
35-
aclPublic: boolean,
35+
options: {
36+
public: boolean;
37+
},
3638
) {
3739
const upload = new Upload({
3840
client,
@@ -41,7 +43,7 @@ export async function s3UploadFile(
4143
ContentType: lookup(localPath) || "binary/octet-stream",
4244
Bucket: env.S3_BUCKET,
4345
Key: remotePath,
44-
ACL: aclPublic ? "public-read" : "private",
46+
ACL: options.public ? "public-read" : "private",
4547
},
4648
});
4749
await upload.done();
@@ -59,7 +61,14 @@ async function s3DownloadFile(remotePath: string, localPath: string) {
5961
await writeFile(localPath, Body.transformToWebStream());
6062
}
6163

62-
export async function s3DownloadFolder(remotePath: string, localPath: string) {
64+
export async function s3DownloadFolder(
65+
remotePath: string,
66+
localPath: string,
67+
// @ts-expect-error We do not use this for now
68+
options: {
69+
concurrency: number;
70+
},
71+
) {
6372
const paginatedListObjects = paginateListObjectsV2(
6473
{ client },
6574
{
@@ -97,7 +106,10 @@ export async function s3DownloadFolder(remotePath: string, localPath: string) {
97106
export async function s3UploadFolder(
98107
localPath: string,
99108
remotePath: string,
100-
aclPublic: boolean,
109+
options: {
110+
public: boolean;
111+
concurrency: number;
112+
},
101113
) {
102114
await s3DeleteFolder(remotePath);
103115

@@ -109,11 +121,9 @@ export async function s3UploadFolder(
109121
}
110122

111123
for (const file of files) {
112-
await s3UploadFile(
113-
`${localPath}/${file}`,
114-
`${remotePath}/${file}`,
115-
aclPublic,
116-
);
124+
await s3UploadFile(`${localPath}/${file}`, `${remotePath}/${file}`, {
125+
public: options.public,
126+
});
117127
}
118128
}
119129

apps/artisan/src/workers/ffmpeg.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export const ffmpegCallback: WorkerCallback<FfmpegData, FfmpegResult> = async ({
5858
await s3UploadFile(
5959
`${outDir}/${name}`,
6060
`transcode/${job.data.assetId}/${name}`,
61-
false,
61+
{ public: false },
6262
);
6363

6464
return {

apps/artisan/src/workers/package.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ export const packageCallback: WorkerCallback<
5757
async function handleStepInitial(job: Job<PackageData>, dir: WorkerDir) {
5858
const inDir = await dir.createTempDir();
5959

60-
await s3DownloadFolder(`transcode/${job.data.assetId}`, inDir);
60+
await s3DownloadFolder(`transcode/${job.data.assetId}`, inDir, {
61+
concurrency: job.data.concurrency,
62+
});
6163

6264
job.log(`Synced folder in ${inDir}`);
6365

@@ -146,7 +148,10 @@ async function handleStepInitial(job: Job<PackageData>, dir: WorkerDir) {
146148
const s3Dir = `package/${job.data.assetId}/${job.data.name}`;
147149
job.log(`Uploading to ${s3Dir}`);
148150

149-
await s3UploadFolder(outDir, s3Dir, job.data.public);
151+
await s3UploadFolder(outDir, s3Dir, {
152+
public: job.data.public,
153+
concurrency: job.data.concurrency,
154+
});
150155
}
151156

152157
async function handleJobOutcome(job: Job<PackageData>) {

0 commit comments

Comments
 (0)