Added logs for queues.
This commit is contained in:
@ -11,7 +11,7 @@ import { UsersModule } from './users/users.module';
|
||||
import { UserEntity } from './users/entities/users.entity';
|
||||
import { AuthModule } from './auth/auth.module';
|
||||
import { LoggerModule } from 'nestjs-pino';
|
||||
import { serialize_token, serialize_user_short, serialize_user_long, serialize_res, serialize_req } from './logging.serializers';
|
||||
import { serialize_token, serialize_user_short, serialize_user_long, serialize_res, serialize_req, serialize_job } from './logging.serializers';
|
||||
import { BooksModule } from './books/books.module';
|
||||
import { ProvidersModule } from './providers/providers.module';
|
||||
import { SeriesModule } from './series/series.module';
|
||||
@ -51,12 +51,14 @@ import { BullModule } from '@nestjs/bullmq';
|
||||
user: value => serialize_user_long(value),
|
||||
access_token: value => serialize_token(value),
|
||||
refresh_token: value => serialize_token(value),
|
||||
job: value => serialize_job(value),
|
||||
req: value => serialize_req(value),
|
||||
res: value => serialize_res(value),
|
||||
} : {
|
||||
user: value => serialize_user_short(value),
|
||||
access_token: value => serialize_token(value),
|
||||
refresh_token: value => serialize_token(value),
|
||||
job: value => serialize_job(value),
|
||||
req: value => serialize_req(value),
|
||||
res: value => serialize_res(value),
|
||||
},
|
||||
|
@ -19,7 +19,13 @@ export class LibraryConsumer extends WorkerHost {
|
||||
}
|
||||
|
||||
async process(job: Job, token?: string): Promise<any> {
|
||||
console.log('job started:', job.name, job.data, job.id);
|
||||
this.logger.info({
|
||||
class: LibraryConsumer.name,
|
||||
method: this.process.name,
|
||||
job: job,
|
||||
msg: 'Started task on queue.',
|
||||
});
|
||||
|
||||
const series: CreateSeriesSubscriptionJobDto = job.data;
|
||||
|
||||
let context = this.provider.generateSearchContext(series.provider, series.title) as GoogleSearchContext;
|
||||
@ -52,9 +58,22 @@ export class LibraryConsumer extends WorkerHost {
|
||||
.filter((_, index, arr) => index == 0 || arr[index - 1].result.volume != arr[index].result.volume);
|
||||
job.updateProgress(25);
|
||||
|
||||
this.logger.debug({
|
||||
class: LibraryConsumer.name,
|
||||
method: this.process.name,
|
||||
job: job,
|
||||
msg: 'Finished searching for book entries.',
|
||||
results: {
|
||||
pages: pageSearchedCount,
|
||||
related_entries: related.length,
|
||||
volumes: books.length,
|
||||
}
|
||||
});
|
||||
|
||||
let counter = 0;
|
||||
for (let book of books) {
|
||||
try {
|
||||
// Force the provider's series id to be set, so that we know which series this belongs.
|
||||
book.result.providerSeriesId = series.providerSeriesId;
|
||||
await this.library.addBook(book.result);
|
||||
} catch (err) {
|
||||
@ -72,7 +91,12 @@ export class LibraryConsumer extends WorkerHost {
|
||||
}
|
||||
}
|
||||
|
||||
console.log('job completed:', job.name, job.data, job.id);
|
||||
this.logger.info({
|
||||
class: LibraryConsumer.name,
|
||||
method: this.process.name,
|
||||
job: job,
|
||||
msg: 'Completed task on queue.',
|
||||
});
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -79,3 +79,15 @@ export function serialize_res(value) {
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
export function serialize_job(value) {
|
||||
if (!value) {
|
||||
return value;
|
||||
}
|
||||
|
||||
return {
|
||||
id: value.id,
|
||||
name: value.name,
|
||||
data: value.data,
|
||||
}
|
||||
}
|
||||
|
@ -30,7 +30,6 @@ export class GoogleService {
|
||||
|
||||
const defaultQueryParams = 'langRestrict=en&printType=books&fields=items(kind,id,volumeInfo(title,description,authors,publisher,publishedDate,industryIdentifiers,language,categories,maturityRating,imageLinks,canonicalVolumeLink,seriesInfo))';
|
||||
const customQueryParams = context.generateQueryParams();
|
||||
console.log(defaultQueryParams, customQueryParams);
|
||||
|
||||
return await firstValueFrom(
|
||||
this.http.get('https://www.googleapis.com/books/v1/volumes?' + defaultQueryParams + '&' + customQueryParams)
|
||||
|
Reference in New Issue
Block a user