BullMQ - Message Queue and Batch processing for NodeJS, Python, Elixir and PHP based on Redis
This report presents the forensic synthetic code analysis of taskforcesh/bullmq, a TypeScript project with 9,109 GitHub stars. SynthScan v2.0 examined 149,652 lines of code across 555 source files, recording 628 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 6.8 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 628 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/tests/deduplication_test.rs | 13 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 15 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 113 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 115 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 184 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 186 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 245 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 247 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 316 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 318 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 390 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/deduplication_test.rs | 392 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/stalled_jobs_test.rs | 14 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/stalled_jobs_test.rs | 16 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/stalled_jobs_test.rs | 166 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/stalled_jobs_test.rs | 168 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 16 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 18 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 221 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 223 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 331 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 333 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 417 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 419 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 567 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 569 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 608 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 610 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 651 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 653 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 707 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 709 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 773 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 775 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 843 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 845 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 887 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 889 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 929 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 931 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 989 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 991 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1042 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1044 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1079 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1081 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1118 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1120 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1177 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1179 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1239 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1241 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1290 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1292 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1357 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1359 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1392 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1394 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1438 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| MEDIUM | rust/tests/job_scheduler_test.rs | 1440 | // ═══════════════════════════════════════════════════════════════════════════ | COMMENT |
| 328 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/redis_connection_cluster_test.py | 9 | async def test_set_client_name_non_cluster(self): | CODE |
| LOW | python/tests/redis_connection_cluster_test.py | 20 | async def test_set_client_name_cluster(self): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 10 | def test_dict_opts_uses_single_connection(self, _mock_load): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 15 | def test_url_opts_uses_single_connection(self, _mock_load): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 20 | def test_caller_single_connection_client_does_not_raise(self, _mock_load): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 28 | async def test_get_redis_version_returns_none_when_info_lacks_redis_version(self, _mock_load): | CODE |
| LOW | python/tests/redis_connection_test.py | 47 | async def test_get_redis_version_returns_string_when_info_has_redis_version(self, _mock_load): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 64 | def test_returns_false_when_current_version_is_none(self): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 69 | def test_returns_true_when_current_below_minimum(self): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 72 | def test_returns_false_when_current_at_or_above_minimum(self): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 78 | def test_default_skip_flags_are_false(self, _mock_load): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 83 | def test_skip_flags_persist_when_set(self, _mock_load): | CODE |
| LOW⚡ | python/tests/redis_connection_test.py | 91 | async def test_skip_version_check_short_circuits_get_redis_version(self, _mock_load): | CODE |
| LOW | python/tests/delay_test.py | 29 | async def test_progress_delayed_job_only_after_delayed_time(self): | CODE |
| LOW | python/tests/test_imports.py | 12 | def test_unrecoverable_error_importable_from_package_root(self): | CODE |
| LOW | python/tests/test_imports.py | 17 | def test_waiting_children_error_importable_from_package_root(self): | CODE |
| LOW | python/tests/queue_test.py | 53 | async def test_get_waiting_returns_jobs_in_ascending_order(self): | CODE |
| LOW | python/tests/queue_test.py | 81 | async def test_add_job_with_options(self): | CODE |
| LOW | python/tests/queue_test.py | 110 | async def test_is_paused_with_custom_prefix(self): | CODE |
| LOW | python/tests/queue_test.py | 127 | async def test_trim_events_manually(self): | CODE |
| LOW | python/tests/queue_test.py | 145 | async def test_trim_events_manually_with_custom_prefix(self): | CODE |
| LOW | python/tests/queue_test.py | 240 | async def test_retry_completed_jobs(self): | CODE |
| LOW | python/tests/queue_test.py | 296 | async def test_retry_failed_jobs_before_timestamp(self): | CODE |
| LOW | python/tests/queue_test.py | 363 | async def test_retry_jobs_when_queue_is_paused(self): | CODE |
| LOW | python/tests/queue_test.py | 413 | async def test_promote_all_delayed_jobs(self): | CODE |
| LOW | python/tests/queue_test.py | 470 | async def test_get_counts_per_priority(self): | CODE |
| LOW | python/tests/queue_test.py | 498 | async def test_obliterate_with_force_false_should_fail_with_active_jobs(self): | CODE |
| LOW | python/tests/queue_test.py | 529 | async def test_obliterate_with_force_true_should_succeed_with_active_jobs(self): | CODE |
| LOW | python/tests/queue_test.py | 566 | async def test_obliterate_with_force_true_parameter_conversion(self): | CODE |
| LOW | python/tests/queue_test.py | 578 | async def test_drain_count_added_unprocessed_jobs(self): | CODE |
| LOW | python/tests/queue_test.py | 671 | async def test_get_prioritized_jobs(self): | CODE |
| LOW | python/tests/queue_test.py | 715 | async def test_get_failed_returns_only_failed_jobs(self): | CODE |
| LOW | python/tests/deduplication_test.py | 28 | async def test_simple_mode_deduplication(self): | CODE |
| LOW | python/tests/deduplication_test.py | 52 | async def test_throttle_mode_deduplication(self): | CODE |
| LOW | python/tests/deduplication_test.py | 80 | async def test_debounce_mode_with_replace(self): | CODE |
| LOW | python/tests/deduplication_test.py | 112 | async def test_deduplication_with_extend(self): | CODE |
| LOW | python/tests/deduplication_test.py | 144 | async def test_different_deduplication_ids(self): | CODE |
| LOW | python/tests/deduplication_test.py | 165 | async def test_deduplication_without_ttl(self): | CODE |
| LOW | python/tests/worker_test.py | 85 | async def test_manual_process_active_event_on_get_next_job(self): | CODE |
| LOW | python/tests/worker_test.py | 114 | async def test_manual_process_job_failure(self): | CODE |
| LOW | python/tests/worker_test.py | 142 | async def test_process_job_with_array_as_return_value(self): | CODE |
| LOW | python/tests/worker_test.py | 169 | async def test_process_job_with_boolean_as_return_value(self): | CODE |
| LOW | python/tests/worker_test.py | 196 | async def test_process_job_fail_with_nan_as_return_value(self): | CODE |
| LOW | python/tests/worker_test.py | 284 | async def test_process_stalled_jobs(self): | CODE |
| LOW | python/tests/worker_test.py | 329 | async def test_retry_job_after_delay_with_fixed_backoff(self): | CODE |
| LOW | python/tests/worker_test.py | 357 | async def test_retry_job_after_delay_with_custom_backoff(self): | CODE |
| LOW | python/tests/worker_test.py | 390 | async def test_create_children_at_runtime(self): | CODE |
| LOW | python/tests/worker_test.py | 474 | async def test_process_job_respecting_the_concurrency_set(self): | CODE |
| LOW | python/tests/worker_test.py | 543 | async def test_retry_job_that_fails(self): | CODE |
| LOW | python/tests/worker_test.py | 603 | async def test_retry_failed_job_with_reset_attempts(self): | CODE |
| LOW | python/tests/worker_test.py | 667 | async def test_retry_job_that_completes(self): | CODE |
| LOW | python/tests/worker_test.py | 732 | async def test_retry_completed_job_with_reset_attempts(self): | CODE |
| LOW | python/tests/worker_test.py | 801 | async def test_remove_on_complete_with_age_and_limit(self): | CODE |
| LOW | python/tests/worker_test.py | 849 | async def test_get_completed_handles_empty_task_set(self): | CODE |
| LOW | python/tests/flow_test.py | 30 | async def test_should_process_children_before_parent(self): | CODE |
| LOW | python/tests/flow_test.py | 209 | async def test_get_children_values_on_simple_jobs(self): | CODE |
| LOW | python/tests/job_test.py | 27 | async def test_set_and_get_progress_as_number(self): | CODE |
| LOW | python/tests/job_test.py | 36 | async def test_set_and_get_progress_as_object(self): | CODE |
| LOW | python/tests/job_test.py | 78 | async def test_job_data_json_compliant(self): | CODE |
| LOW | python/tests/job_test.py | 88 | async def test_update_job_data_when_is_removed(self): | CODE |
| 48 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/worker_test.py | 586 | def on_completed(completed_job, result): | CODE |
| MEDIUM | python/tests/worker_test.py | 646 | def on_completed(completed_job, result): | CODE |
| LOW | python/tests/worker_test.py | 570 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 592 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 630 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 653 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 696 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 721 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 761 | except Exception as e: | CODE |
| LOW | python/tests/worker_test.py | 787 | except Exception as e: | CODE |
| LOW | python/bullmq/queue.py | 159 | except Exception as err: | CODE |
| LOW | python/bullmq/worker.py | 168 | except Exception as e: | CODE |
| LOW | python/bullmq/worker.py | 243 | except Exception as err: | CODE |
| LOW | python/bullmq/worker.py | 317 | except Exception as err: | CODE |
| LOW | python/bullmq/worker.py | 323 | except Exception as err: | CODE |
| LOW | python/bullmq/worker.py | 347 | except Exception as err: | CODE |
| LOW | python/bullmq/worker.py | 438 | except Exception as e: | CODE |
| LOW | python/bullmq/worker.py | 447 | except Exception as e: | CODE |
| LOW | python/bullmq/worker.py | 467 | except Exception as err: | CODE |
| MEDIUM | python/bullmq/worker.py | 441 | def runStalledJobsCheck(self): | CODE |
| LOW | python/bullmq/timer.py | 22 | except Exception as err: | CODE |
| MEDIUM | python/bullmq/timer.py | 17 | def _job(self) -> None: | CODE |
| LOW | python/bullmq/job.py | 390 | except Exception as err: | CODE |
| LOW | python/bullmq/utils.py | 20 | except Exception as e: | CODE |
| LOW | python/bullmq/utils.py | 54 | except Exception: | CODE |
| LOW⚡ | python/bullmq/utils.py | 71 | except Exception: | CODE |
| LOW⚡ | python/bullmq/utils.py | 78 | except Exception: | CODE |
| LOW⚡ | python/bullmq/utils.py | 84 | except Exception: | CODE |
| MEDIUM | python/bullmq/utils.py | 17 | def extract_result(job_task, emit_callback): | CODE |
| LOW | docs/gitbook/guide/jobs/retrying-job.md | 247 | except Exception as error: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | osv-scanner.toml | 1 | # OSV Scanner Configuration | COMMENT |
| LOW | vitest.config.ts | 41 | COMMENT | |
| LOW | python/bullmq/scripts.py | 61 | def addJobArgs(self, job: Job): | COMMENT |
| LOW | rust/src/types.rs | 81 | impl Default for JobProgress { | COMMENT |
| LOW | rust/src/types.rs | 221 | /// | COMMENT |
| LOW | rust/src/job.rs | 41 | /// A `Job` holds the data to be processed and all associated metadata. | COMMENT |
| LOW | rust/src/job.rs | 61 | #[serde(default)] | COMMENT |
| LOW | rust/src/job.rs | 81 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | rust/src/job.rs | 541 | COMMENT | |
| LOW | rust/src/error.rs | 41 | COMMENT | |
| LOW | rust/src/error.rs | 61 | COMMENT | |
| LOW | rust/src/lib.rs | 1 | #![warn(missing_docs)] | COMMENT |
| LOW | rust/src/lib.rs | 21 | //! | COMMENT |
| LOW | rust/src/queue_events.rs | 1 | //! Cross-process queue event listener. | COMMENT |
| LOW | rust/src/queue_events.rs | 41 | use crate::error::Error; | COMMENT |
| LOW | rust/src/queue_events.rs | 81 | pub struct QueueEventEntry { | COMMENT |
| LOW | rust/src/options.rs | 261 | /// Rate limiter options (max jobs per duration window). | COMMENT |
| LOW | rust/src/options.rs | 421 | /// If true, the dependency on this child is ignored when it fails. | COMMENT |
| LOW | rust/src/options.rs | 441 | #[derive(Debug, Clone, Serialize, Deserialize)] | COMMENT |
| LOW | rust/src/worker.rs | 121 | /// The worker was paused. | COMMENT |
| LOW | rust/src/flow_producer.rs | 121 | COMMENT | |
| LOW | rust/src/flow_producer.rs | 141 | self.add_with_opts(flow, &FlowOpts::default()).await | COMMENT |
| LOW | rust/src/flow_producer.rs | 861 | COMMENT | |
| LOW | rust/src/queue.rs | 721 | failed: result.get(5).copied().unwrap_or(0), | COMMENT |
| LOW | rust/src/job_scheduler.rs | 41 | /// End date (Unix timestamp in ms). No executions after this. | COMMENT |
| LOW | rust/src/job_scheduler.rs | 61 | pub name: String, | COMMENT |
| LOW | rust/src/job_scheduler.rs | 81 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | tests/worker.test.ts | 1881 | return exists; | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | .github/workflows/codeql-analysis.yml | 61 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines | COMMENT |
| LOW | .github/workflows/test.yml | 321 | - run: yarn install --ignore-engines --frozen-lockfile --non-interactive | COMMENT |
| LOW | .github/workflows/test.yml | 341 | # node-version: lts/* | COMMENT |
| LOW | .github/workflows/codeql.yml | 1 | # For most projects, this workflow file will not need changing; you simply need | COMMENT |
| LOW | src/classes/bun-redis-client.ts | 1221 | } | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/bullmq/job.py | 1 | CODE | |
| LOW | python/bullmq/__init__.py | 10 | CODE | |
| LOW | python/bullmq/__init__.py | 11 | CODE | |
| LOW | python/bullmq/__init__.py | 12 | CODE | |
| LOW | python/bullmq/__init__.py | 13 | CODE | |
| LOW | python/bullmq/__init__.py | 14 | CODE | |
| LOW | python/bullmq/__init__.py | 14 | CODE | |
| LOW | python/bullmq/scripts.py | 6 | CODE | |
| LOW | python/bullmq/custom_errors/__init__.py | 1 | CODE | |
| LOW | python/bullmq/custom_errors/__init__.py | 2 | CODE | |
| LOW | python/bullmq/types/__init__.py | 1 | CODE | |
| LOW | python/bullmq/types/__init__.py | 2 | CODE | |
| LOW | python/bullmq/types/__init__.py | 3 | CODE | |
| LOW | python/bullmq/types/__init__.py | 4 | CODE | |
| LOW | python/bullmq/types/__init__.py | 5 | CODE | |
| LOW | python/bullmq/types/__init__.py | 6 | CODE | |
| LOW | python/bullmq/types/__init__.py | 7 | CODE | |
| LOW | python/bullmq/types/__init__.py | 8 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/bullmq/worker.py | 348 | # Check if this is a connection error that should be retried | COMMENT |
| LOW | .github/workflows/release.yml | 48 | # Check if there are any changes to commit | COMMENT |
| LOW | .github/workflows/release.yml | 69 | # Check if there are actually changes to commit after adding | COMMENT |
| LOW | .github/workflows/release.yml | 146 | # Check if there are any changes to commit | COMMENT |
| LOW | .github/workflows/release.yml | 166 | # Check if there are actually changes to commit after adding | COMMENT |
| LOW | .github/workflows/release.yml | 235 | # Check if there are any changes to commit | COMMENT |
| LOW | .github/workflows/release.yml | 254 | # Check if there are actually changes to commit after adding | COMMENT |
| LOW | .github/workflows/release.yml | 334 | # Check if there are any changes to commit | COMMENT |
| LOW | .github/workflows/release.yml | 353 | # Check if there are actually changes to commit after adding | COMMENT |
| LOW | .github/workflows/release.yml | 420 | # Check if there are any changes to commit | COMMENT |
| LOW | .github/workflows/release.yml | 440 | # Check if there are actually changes to commit after adding | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | elixir/README.md | 43 | to: "user@example.com", | CODE |
| LOW | elixir/guides/flows.md | 214 | data: %{recipients: ["admin@example.com"]}, | CODE |
| LOW | elixir/guides/workers.md | 457 | {:ok, job} = BullMQ.Queue.add("emails", "send", %{to: "user@example.com"}, | CODE |
| LOW | elixir/guides/introduction.md | 37 | to: "user@example.com", | CODE |
| LOW | elixir/guides/deduplication.md | 33 | BullMQ.Queue.add("notifications", "send-email", %{to: "user@example.com"}, | CODE |
| LOW | elixir/guides/deduplication.md | 39 | BullMQ.Queue.add("notifications", "send-email", %{to: "user@example.com"}, | CODE |
| LOW | rust/README.md | 52 | "to": "user@example.com", | CODE |
| LOW | rust/tests/job_scheduler_test.rs | 97 | let data = serde_json::json!({"email": "user@example.com"}); | CODE |
| LOW | tests/obliterate.test.ts | 432 | return job.log('Lorem Ipsum Dolor Sit Amet'); | CODE |
| LOW | tests/obliterate.test.ts | 432 | return job.log('Lorem Ipsum Dolor Sit Amet'); | CODE |
| LOW | docs/gitbook/elixir/introduction.md | 72 | to: "user@example.com", | CODE |
| LOW | php/README.md | 100 | 'to' => 'user@example.com', | CODE |
| LOW | php/src/Queue.php | 109 | * $job = $queue->add('email', ['to' => 'user@example.com']); | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/queue_test.py | 506 | # Create a worker that processes jobs slowly | COMMENT |
| MEDIUM | python/tests/queue_test.py | 538 | # Create a worker that processes jobs slowly | COMMENT |
| MEDIUM | .github/workflows/release.yml | 310 | # Create a clean directory with only the necessary files | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | rust/src/flow_producer.rs | 133 | /// The returned [`JobNode`] keeps the same tree shape as requested. The | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | rust/src/lib.rs | 5 | //! A powerful, fast, and robust job queue backed by Redis. | COMMENT |
| MEDIUM | tests/stalled_jobs.test.ts | 1096 | // Wait for both failures so the test is robust to event ordering and | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/worker_test.py | 390 | CODE | |
| LOW | python/tests/worker_test.py | 403 | CODE | |
| LOW | python/bullmq/queue.py | 170 | CODE | |
| LOW | python/bullmq/worker.py | 328 | CODE | |
| LOW | python/bullmq/scripts.py | 193 | CODE | |
| LOW | python/bullmq/scripts.py | 687 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/bullmq/job.py | 107 | Attempts to retry the job. Only a job that has failed or completed can be retried. Args: s | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/bullmq/redis_connection.py | 158 | async def set_client_name(self, name: str) -> None: | CODE |
| LOW⚡ | python/bullmq/redis_connection.py | 174 | async def _set_client_name_on_client(self, client, name: str) -> None: | CODE |
| LOW⚡ | python/bullmq/redis_connection.py | 180 | def _set_client_name_on_pool(self, client, name: str) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/tests/worker_test.rs | 9488 | // Step 1: complete | COMMENT |
| LOW | rust/tests/flow_test.rs | 4433 | // Step 0: Add a child dynamically | COMMENT |
| LOW | rust/tests/flow_test.rs | 4471 | // Step 1: Children are done, complete | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | rust/tests/worker_test.rs | 9488 | // Step 1: complete | COMMENT |
| LOW | rust/tests/flow_test.rs | 4433 | // Step 0: Add a child dynamically | COMMENT |
| LOW | rust/tests/flow_test.rs | 4471 | // Step 1: Children are done, complete | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/bullmq/scripts.py | 415 | CODE | |
| LOW | python/bullmq/scripts.py | 544 | CODE | |
| LOW | python/bullmq/scripts.py | 553 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/codeql.yml | 58 | # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how | COMMENT |