unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at development 41 lines 875 B view raw
1import { Queue } from 'bullmq' 2import { Media } from '../models/index.js' 3import { Op } from 'sequelize' 4import { completeEnvironment } from '../utils/backendOptions.js' 5 6const updateMediaDataQueue = new Queue('processRemoteMediaData', { 7 connection: completeEnvironment.bullmqConnection, 8 defaultJobOptions: { 9 removeOnComplete: true, 10 attempts: 3, 11 backoff: { 12 type: 'exponential', 13 delay: 1000 14 }, 15 removeOnFail: true 16 } 17}) 18 19async function loadMediaData() { 20 const mediasToUpdate = await Media.findAll({ 21 where: { 22 mediaType: { 23 [Op.eq]: null 24 } 25 }, 26 limit: 10000 27 }) 28 29 await updateMediaDataQueue.addBulk( 30 mediasToUpdate.map((media: any) => { 31 return { 32 name: `getMediaData${media.id}`, 33 data: { mediaId: media.id } 34 } 35 }) 36 ) 37} 38 39loadMediaData().then(() => { 40 console.log('done') 41})