unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
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})