Changelogs
Last updated
Was this helpful?
Last updated
Was this helpful?
worker: maxStalledCount no less than 0 () fixes ()
remove: pass correct children meta references () ()
connection: add str type in connection option [python] () ()
flow: support failed children in getFlow and getDependencies methods () ()
Nothing change, triggered by a python version release
worker: Markers use now a dedicated key in redis instead of using a special Job ID.
references:
queue-events: omit telemetry options () ()
job-scheduler: remove next delayed job if present even if scheduler does not exist () ref ()
flow: support ignored children in getFlow and getDependencies methods () ref ()
deduplication: remove deduplication key only when jobId matches with the last one being saved () ()
queue: add getIgnoredChildrenFailures method () ()
flow: change parent failure in a lazy way () ()
flow-producer: use FlowProducer prefix by defualt when calling getFlow () ()
job: expose stalledCounter attribute () ()
made line split more compatible () (), closes
add removeUnprocessedChildren () ()
job-scheduler: fix endDate presence validation () ()
flow: remove job from dependencies when failParentOnFailure or continueParentOnFailure () ()
flow-producer: fix queueName otel attribute when passing it to addNode () ()
flows: add continueParentOnFailure option () ()
queue-events: pass right path for JobProgress type () fixes ()
updateProgress: allow more types to be used as progress () ()
flow: validate pending dependencies before removing lock () ()
job-scheduler: emit duplicated event when next delayed job exists () ()
add deduplicated job id to the deduplicated event ()
scheduler: remove next delayed job when possible () ()
flow: only validate pending dependencies when moving to completed () ()
flow: validate parentKey existence before trying to move it to failed () ()
flow: consider prioritized state when moving a parent to failed () ()
prometheus export: expose global variables ()
job-scheduler: add marker when upserting job scheduler if needed () ()
job: support ignored and failed counts in getDependenciesCount () ref ()
flow: consider to fail a parent not in waiting-children when failParentOnFailure is provided () ()
job-scheduler: restore iterationCount attribute () ()
job: add complete span in moveToCompleted method () ()
worker: optimize job retrieval for failed jobs in chunks () ()
scheduler: remove multi when updating a job scheduler () ()
job: deserialize priority in fromJSON () ()
worker: cast delay_until to integer [python] () ()
scheduler: validate repeatKey if present when cleaning failed jobs () fixes ()
flow: consider delayed state when moving a parent to failed () ()
telemetry: fix span name for moveToFailed logic () ()
job-scheduler: consider removing current job from wait, paused or prioritized () ()
delayed: add marker once when promoting delayed jobs () (python) ()
worker: do not execute run method when no processor is defined when resuming () ()
worker: do not resume when closing () ()
job: set processedBy when moving job to active in moveToFinished () fixes ()
job: add moveToWait method for manual processing () ()
queue: support removeGlobalConcurrency method () ()
add-job: add job into wait or prioritized state when delay is provided as 0 () ()
drain: pass delayed key for redis cluster () ()
job-scheduler: restore limit option to be saved () ()
job-scheduler: return undefined in getJobScheduler when it does not exist () fixes ()
fix return type of getNextJob ()
worker: wait fetched jobs to be processed when closing () ()
job-scheduler: revert add delayed job and update in the same script ()
worker: evaluate if a job needs to be fetched when moving to failed () ()
retry-job: consider updating failures in job () ()
job-scheduler: save limit option () ()
flow-producer: add support for skipWaitingForReady ()
queue: add option to skip wait until connection ready ()
queue-getters: add prometheus exporter ()
job-scheduler: save iteration count () ()
worker: avoid possible hazard in closing worker ()
sandbox: add support for getChildrenValues ()
job-scheduler: use delayed job data when template data is not present () fixes ()
job-scheduler: add next delayed job only when prevMillis matches with producerId () ()
job-scheduler: add delayed job and update scheduler in same script () ()
job-scheduler: add delayed job and scheduler in same script () ()
job-scheduler: avoid duplicates when upserting in a quick sequence () ()
dynamic-rate-limit: validate job lock cases () ()
sandbox: fix issue where job could stay in active forever () ()
sandboxed: fix detecting special errors by sending default messages () fixes ()
scripts: make sure jobs fields are not empty before unpack ()
guarantee every repeatable jobs are slotted ()
job-scheduler: avoid duplicated delayed jobs when repeatable jobs are retried ()
telemetry: add option to omit context propagation on jobs () ()
job-scheduler: omit deduplication and debounce options from template options () ()
replace multi by lua scripts in moveToFailed () ()
queue: enhance getJobSchedulers method to include template information () ref ()
worker: catch connection error when moveToActive is called () ()
scheduler-template: remove console.log when getting template information () ()
queue: enhance getJobScheduler method to include template information () ref ()
flow: allow using removeOnFail and failParentOnFailure in parents () fixes ()
job-scheduler: upsert template when same pattern options are provided () ref ()
queue: add getJobSchedulersCount method () ()
scheduler: remove deprecation warning on immediately option () ()
queue: refactor a protected addJob method allowing telemetry extensions ()
queue: change _jobScheduler from private to protected for extension () ()
scheduler: use Job class from getter for extension () ()
job-scheduler: add telemetry support to the job scheduler ()
queue: add rateLimit method () ()
queue: add removeRateLimitKey method () ()
marker: add base markers while consuming jobs to get workers busy () fixes ()
telemetry: do not set span on parent context if undefined ()
queue: fix generics to be able to properly be extended ()
improve queue getters to use generic job type () ()
job-scheculer: avoid hazards when upserting job schedulers concurrently ()
connection: do not allow to set blockingConnection option () ()
repeatable: only apply immediately in the first iteration ()
scripts: set package version by default for extension () ()
worker: allow retrieving concurrency value () fixes ()
connection: set packageVersion as protected attribute for extension () ()
queue-events: add QueueEventsProducer for publishing custom events () ()
flows: add telemetry support () ()
deps: bump msgpackr to 1.1.2 to resolve ERR_BUFFER_OUT_OF_BOUNDS error () ref ()
scheduler: add getJobScheduler method () ref ()
queue: add a telemetry interface () ()
proper way to get version ()
scripts: add missing wait in isJobInList ()
queue: add option to skip metas update ()
redis: use version for naming loaded lua scripts ()
queue: add queue version support () ()
sandbox: fix serialization of error with circular references are present () fix ()
repeat: deprecate immediately on job scheduler ()
job: expose priority value () ()
repeat: also consider startDate when using "every" ()
sandbox: catch exit errors () ()
job: add deduplication logic () ()
queue: add new upsertJobScheduler, getJobSchedulers and removeJobSchedulers methods ()
worker-fork: allow passing fork options () ()
worker-thread: allow passing Worker options () ref ()
repeatable: avoid delayed job deletion if next job already existed () ()
connection: allow passing connection string into IORedis () ()
queue: add getDebounceJobId method () ()
metrics: differentiate points in different minutes to be more accurate () (python) ()
pattern: do not save offset when immediately is provided () ()
metrics: save zeros as much as max data points () ()
repeat: replace delayed job when updating repeat key ()
flows: throw error when queueName contains colon () fixes ()
sandboxed: properly update data on wrapped job () fixes ()
flow: remove debounce key when parent is moved to fail () ()
fifo-queue: use linked list structure for queue () ()
flow: recursive ignoreDependencyOnFailure option () ()
job: throw error if removeDependencyOnFailure and ignoreDependencyOnFailure are used together () ()
job: change moveToFinished return type to reflect jobData () ref ()
stalled: support removeDependencyOnFailure option when job is stalled () ()
connection: remove unnecessary process.env.CI reference () ()
worker: fix close sequence to reduce risk for open handlers () ()
flow: validate parentData before ignoreDependencyOnFailure when stalled check happens () (python) ()
worker: promote delayed jobs while queue is rate limited () ref ()
job: consider passing stackTraceLimit as 0 () ref ()
queue-events: pass debounceId as a param of debounced event () ()
job: allow passing debounce as option () ()
repeatable: remove repeat hash when removing repeatable job () ()
repeatable: keep legacy repeatables if it exists instead of creating one with new structure () ()
worker: fetch next job on failure () ()
repeatable: consider removing legacy repeatable job () fixes ()
repeatable: pass custom key as an args in addRepeatableJob to prevent CROSSSLOT issue () fixes ()
repeatable: new repeatables structure () ref fixes ()
queue: support global concurrency () ref ()
delayed: keep moving delayed jobs to waiting when queue is paused () (python) ()
delayed: avoid using jobId in order to schedule delayed jobs () (python) ()
parent: consider re-adding child that is in completed state using same jobIds () (python) fixes ()
queue-getters: consider passing maxJobs when calling getRateLimitTtl () fixes ()
job: consider changing priority to 0 () ()
priority: consider paused state when calling getCountsPerPriority (python) () ()
priority: use module instead of bit.band to keep order (python) () ()
queue: add getCountsPerPriority method () ()
job: set processedBy using hmset () (python) ()
worker: properly cancel blocking command during disconnections ()
extendlock, createbulk use pipeline no multi command () ()
repeat: throw error when endDate is pointing to the past () ()
retry-job: throw error when job is not in active state () ()
sandboxed: ensure DelayedError is checked in Sandboxed processors () fixes ()
job: validate job existence when adding a log () ()
worker: make sure clearTimeout is always called after bzpopmin ()
worker: force timeout on bzpopmin command () ()
worker: do not call bzpopmin when blockDelay is lower or equal 0 () ref ()
stalled: consider ignoreDependencyOnFailure option (python) () fixes ()
worker: reset delays after generating blockTimeout value () ()
worker: return minimumBlockTimeout depending on redis version (python) () ()
stalled: consider failParentOnFailure when moving child into failed () fixes (python) ()
worker: use 0.002 as minimum timeout for redis version lower than 7.0.8 () fixes ()
allow arbitrary large drainDelay ()
stalled: remove jobId from stalled after removing lock when moved from active () (python) ()
deps: remove script loader from dist as it is used only when building package () ()
client: try catch list command as it's not supported in GCP () ()
connection: ignore error when setting custom end status () ()
getters: add getWorkersCount ()
job: stack trace limit () ()
scripts: use command name in error message when moving to finished () ()
queue: use QueueOptions type in opts attribute () ()
worker: validate drainDelay must be greater than 0 () ()
move fast-glob and minimatch as dev-dependencies () ()
worker: set blockTimeout as 0.001 when reach the time to get delayed jobs () fixes ()
job: add removeChildDependency method () ()
deps: replaced glob by fast-glob due to security advisory ()
sandbox: extend SandboxedJob from JobJsonSandbox () fixes ()
add-job: fix parent job cannot be replaced error message () ()
worker: add support for naming workers ()
flow: remove failed children references on auto removal () ()
flow: add ignoreDependencyOnFailure option () ()
redis-connection: close redis connection even when initializing () fixes ()
flow: parent job cannot be replaced (python) () ()
marker: differentiate standard and delayed markers (python) () ()
change-delay: add delay marker when needed () ()
flow: add marker when moving parent to wait (python) () ()
reprocess-job: add marker if needed () ()
rate-limit: move job to wait even if ttl is 0 () ()
move-to-active: check rate limited once () ()
stalled: consider adding marker when moving job back to wait () ()
retry-jobs: add marker when needed () ()
security: upgrade msgpackr https://github.com/advisories/GHSA-7hpj-7hhx-2fgx ()
worker: worker can be closed if Redis is down () ()
repeatable: allow saving custom key () ()
worker: throw error if connection is missing ()
job: provide skipAttempt option when manually moving a job () ()
worker: improved markers handling () ()
connection: require connection to be passed () ()
job: revert console warn custom job ids when they represent integers () ()