@@ -18,6 +18,7 @@ async function getSubscribersForCampaign(
1818 where : {
1919 campaignId,
2020 } ,
21+ take : BATCH_SIZE ,
2122 include : {
2223 List : {
2324 include : {
@@ -86,7 +87,7 @@ export const processQueuedCampaigns = cronJob(
8687 async ( ) => {
8788 const queuedCampaigns = await prisma . campaign . findMany ( {
8889 where : {
89- status : "SENDING " ,
90+ status : "CREATING " ,
9091 } ,
9192 include : {
9293 Organization : {
@@ -154,17 +155,15 @@ export const processQueuedCampaigns = cronJob(
154155 allSubscribersMap . values ( )
155156 ) . filter ( ( sub ) => ! subscribersWithMessage . has ( sub . id ) )
156157
157- const batchSubscribers = subscribersToProcess . slice ( 0 , BATCH_SIZE )
158-
159- if ( batchSubscribers . length === 0 ) {
158+ if ( subscribersToProcess . length === 0 ) {
160159 continue
161160 }
162161
163162 await prisma . $transaction ( async ( tx ) => {
164163 const linkTracker = new LinkTracker ( tx )
165164 const messagesToCreate : Prisma . MessageCreateManyInput [ ] = [ ]
166165
167- for ( const subscriber of batchSubscribers ) {
166+ for ( const subscriber of subscribersToProcess ) {
168167 const messageId = uuidV4 ( )
169168 if ( ! campaign . content ) {
170169 oneTimeLogger (
@@ -245,6 +244,12 @@ export const processQueuedCampaigns = cronJob(
245244 await tx . message . createMany ( {
246245 data : messagesToCreate ,
247246 } )
247+
248+ await tx . campaign . update ( {
249+ where : { id : campaign . id } ,
250+ data : { status : "SENDING" } ,
251+ } )
252+
248253 console . log (
249254 `Cron job: Created ${ messagesToCreate . length } messages for campaign ${ campaign . id } .`
250255 )
0 commit comments