chore: initial project import
Some checks failed
CI - Production Readiness / Verify (push) Has been cancelled
Some checks failed
CI - Production Readiness / Verify (push) Has been cancelled
This commit is contained in:
56
scripts/campaign-retry-job.mjs
Normal file
56
scripts/campaign-retry-job.mjs
Normal file
@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const baseUrl = process.env.CAMPAIGN_RETRY_JOB_URL?.trim()
|
||||
|| process.env.APP_URL?.trim()
|
||||
|| process.env.NEXT_PUBLIC_APP_URL?.trim();
|
||||
|
||||
if (!baseUrl) {
|
||||
console.error("Missing CAMPAIGN_RETRY_JOB_URL / APP_URL / NEXT_PUBLIC_APP_URL");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const endpoint = baseUrl.endsWith("/api/jobs/campaign-retry")
|
||||
? baseUrl
|
||||
: `${baseUrl.replace(/\/+$/, "")}/api/jobs/campaign-retry`;
|
||||
|
||||
const token = process.env.CAMPAIGN_RETRY_JOB_TOKEN?.trim();
|
||||
const tenantId = process.env.CAMPAIGN_RETRY_TENANT_ID?.trim();
|
||||
const campaignId = process.env.CAMPAIGN_RETRY_CAMPAIGN_ID?.trim();
|
||||
const recipientBatchSize = Number(process.env.CAMPAIGN_RETRY_BATCH_SIZE);
|
||||
const maxCampaigns = Number(process.env.CAMPAIGN_RETRY_MAX_CAMPAIGNS);
|
||||
|
||||
const payload = {
|
||||
...(tenantId ? { tenantId } : {}),
|
||||
...(campaignId ? { campaignId } : {}),
|
||||
...(Number.isInteger(recipientBatchSize) && recipientBatchSize > 0 ? { recipientBatchSize } : {}),
|
||||
...(Number.isInteger(maxCampaigns) && maxCampaigns > 0 ? { maxCampaigns } : {})
|
||||
};
|
||||
|
||||
const headers = {
|
||||
"content-type": "application/json"
|
||||
};
|
||||
|
||||
if (token) {
|
||||
headers.Authorization = `Bearer ${token}`;
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(endpoint, {
|
||||
method: "POST",
|
||||
headers,
|
||||
body: JSON.stringify(payload)
|
||||
});
|
||||
|
||||
const bodyText = await response.text();
|
||||
|
||||
if (!response.ok) {
|
||||
console.error(`Campaign retry job failed: ${response.status} ${response.statusText}`);
|
||||
console.error(bodyText);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log(bodyText);
|
||||
} catch (error) {
|
||||
console.error(`Failed to trigger campaign retry job: ${error instanceof Error ? error.message : String(error)}`);
|
||||
process.exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user