@@ -30,7 +30,12 @@ export class QueueService {
3030 if ( this . queues === undefined )
3131 this . queues = await this . getQueues ( ) ;
3232
33- return this . queues [ name ] ;
33+ const queue = this . queues [ name ] ;
34+ if ( ! queue ) {
35+ const available = Object . keys ( this . queues ) . join ( ', ' ) ;
36+ throw new Error ( `Unknown queue: ${ name } . Available: ${ available } ` ) ;
37+ }
38+ return queue ;
3439 }
3540
3641 public async getJobs ( queueNames ?: string [ ] , status ?: string , processId ?: string ) : Promise < BaseJob [ ] > {
@@ -42,11 +47,14 @@ export class QueueService {
4247 for ( const queueName of queueNames ) {
4348 const queue = await this . getQueue ( queueName ) ;
4449 const rawJobs = await queue . getJobs ( queryStatus as JobType [ ] ) ;
45- if ( processId ) {
46- rawJobs . filter ( job => job . data . id === processId || job . data . threadId === processId ) ;
47- }
50+ const filteredRawJobs = processId
51+ ? rawJobs . filter ( job => {
52+ const pid = job . data ?. runId ?? job . data ?. id ?? job . data ?. threadId ;
53+ return pid === processId ;
54+ } )
55+ : rawJobs ;
4856 const transformedJobs = await Promise . all (
49- rawJobs . map ( job => transformJobtoBaseJob ( job ) )
57+ filteredRawJobs . map ( job => transformJobtoBaseJob ( job ) )
5058 ) ;
5159 jobs . push ( ...transformedJobs ) ;
5260 }
@@ -62,11 +70,14 @@ export class QueueService {
6270 for ( const queueName of queueNames ) {
6371 const queue = await this . getQueue ( queueName ) ;
6472 const rawJobs = await queue . getJobs ( queryStatus as JobType [ ] ) ;
65- if ( processId ) {
66- rawJobs . filter ( job => job . data . id === processId || job . data . threadId === processId ) ;
67- }
73+ const filteredRawJobs = processId
74+ ? rawJobs . filter ( job => {
75+ const pid = job . data ?. runId ?? job . data ?. id ?? job . data ?. threadId ;
76+ return pid === processId ;
77+ } )
78+ : rawJobs ;
6879 const transformedJobs = await Promise . all (
69- rawJobs . map ( async job => {
80+ filteredRawJobs . map ( async job => {
7081 const dataJob : DataJob = await transformJobtoBaseJob ( job ) ;
7182 dataJob . data = job . data ;
7283 dataJob . returnvalue = job . returnvalue ;
@@ -78,10 +89,15 @@ export class QueueService {
7889 return jobs ;
7990 }
8091
81- public async addJob ( queueName : string , url : string , autoApprove : boolean = false ) : Promise < BaseJob > {
92+ public async addJob ( queueName : string , url : string , autoApprove : boolean = false , options ?: { forceReindex ?: boolean } ) : Promise < BaseJob > {
8293 const queue = await this . getQueue ( queueName ) ;
8394 const id = crypto . randomUUID ( ) ;
84- const job = await queue . add ( 'download ' + url . slice ( - 20 ) , { url : url . trim ( ) , autoApprove, id } ) ;
95+ const job = await queue . add ( 'download ' + url . slice ( - 20 ) , {
96+ url : url . trim ( ) ,
97+ autoApprove,
98+ id,
99+ ...( options ?. forceReindex !== undefined && { forceReindex : options . forceReindex } )
100+ } ) ;
85101 return transformJobtoBaseJob ( job ) ;
86102 }
87103
0 commit comments