@@ -6,6 +6,7 @@ import { AppComponents } from '../types'
66
77export interface TaskQueueMessage {
88 id : string
9+ isPriority : boolean
910}
1011
1112export interface ITaskQueue < T > {
@@ -52,9 +53,9 @@ export function createMemoryQueueAdapter<T>(
5253 async stop ( ) {
5354 q . close ( )
5455 } ,
55- async publish ( job ) {
56+ async publish ( job , prioritize ?: boolean ) {
5657 const id = 'job-' + ( ++ lastJobId ) . toString ( )
57- const message : TaskQueueMessage = { id }
58+ const message : TaskQueueMessage = { id, isPriority : ! ! prioritize }
5859 q . enqueue ( { job, message } )
5960 logger . info ( `Publishing job` , { id } )
6061 components . metrics . increment ( 'job_queue_enqueue_total' , { queue_name : options . queueName } )
@@ -139,7 +140,7 @@ export function createSqsAdapter<T>(
139140
140141 const published = await sqs . send ( command )
141142
142- const m : TaskQueueMessage = { id : published . MessageId ! }
143+ const m : TaskQueueMessage = { id : published . MessageId ! , isPriority : ! ! prioritize }
143144
144145 logger . info ( `Publishing job ${ JSON . stringify ( m ) } ` )
145146
@@ -154,7 +155,8 @@ export function createSqsAdapter<T>(
154155
155156 if ( response && response . Messages && response . Messages . length > 0 ) {
156157 for ( const it of response . Messages ) {
157- const message : TaskQueueMessage = { id : it . MessageId ! }
158+ const isPriority = options . priorityQueueUrl ? queueUsed === options . priorityQueueUrl : false
159+ const message : TaskQueueMessage = { id : it . MessageId ! , isPriority }
158160 const { end } = components . metrics . startTimer ( 'job_queue_duration_seconds' , {
159161 queue_name : options . queueUrl
160162 } )
0 commit comments