| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Add ability to parse capsules from a config file (#5547) | 3 年前 | |
oops | 10 个月前 | |
Reduce noisy lint output | 9 个月前 | |
remove lingering before(:all) calls | 9 个月前 | |
Make Active Job adapter comaptible with next version of Rails (#7019) | 3 个月前 | |
standardrb update, formatting | 10 个月前 | |
Add tests for Sidekiq::Process signal pushing and status helpers (#7031) Four cohesive tests for Process's signal/status API — the contract behind the Web UI's per-process Quiet/Stop/Dump Threads buttons: - quiet! pushes 'TSTP' onto the <identity>-signals list with a 60s TTL (the contract that lets the running process pick up the signal without ever growing the list). - stop! pushes 'TERM' and dump_threads pushes 'TTIN' onto the same per-identity signals list. - stopping? reflects the 'quiet' attribute in the process info hash ('true' string -> true, anything else -> false). - leader? compares the process identity to the dear-leader Redis key (returns true only when the identity matches). | 3 个月前 | |
Add tests for ApiUtils#calculate_latency (#7009) calculate_latency handles three timestamp cases (missing, legacy epoch float, and current integer milliseconds) and prefers enqueued_at over created_at. Only the integer path was exercised indirectly via Queue#latency; the nil and legacy-float branches were untested and can't easily be reached through normal enqueue (which always stores integer ms). Add a focused unit test covering all branches. | 3 个月前 | |
formatting | 3 年前 | |
Allow thread dump with INFO signal for consistency with Puma, TTIN deprecated, fixes #6857 | 10 个月前 | |
Add specs for default batch size in push_bulk (#7055) Cover the behavior introduced in #6953 (smaller default batch size of 100 for scheduled jobs) and #7048 (apply the same default when jobs are scheduled via spread_interval). Since the batch size is only observable in how push_bulk slices its Redis round-trips, these specs attach a redis-client middleware to a dedicated connection pool to record pipelined command batches and assert how many jobs each ZADD/LPUSH carried, without mocking any Sidekiq internals. Co-authored-by: Mike Perham <mike@perham.net> | 1 天前 | |
Remove daemonization, pidfile and logfile options, #4045 | 7 年前 | |
Add tests for Sidekiq top-level public API and Config#logger= (#7037) Four cohesive tests for top-level Sidekiq / Config public API contracts, naturally spanning two files since the contract spans the two: test/sidekiq_test.rb: - Sidekiq.testing!(:bogus) raises with 'Unknown testing mode: bogus' before requiring sidekiq/test_api (the mode-validation contract). - Sidekiq.strict_args! updates Sidekiq::Config::DEFAULTS[:on_complex_arguments] through false / :warn / :raise (the default), restoring the original value in ensure. - Sidekiq.pro? / .ent? / .server? are defined-checks: nil in OSS test suite; defining a stub Sidekiq::Pro makes .pro? truthy. test/config_test.rb: - Config#logger= nil keeps the existing logger instance but raises its level to FATAL (the documented 'silence the logger' contract). | 3 个月前 | |
Remove maxitest, mostly non-essential, migrate to basic minitest | 9 个月前 | |
Rewrite retry_all and kill_all APIs to use ZPOPMIN (#6482) * Rewrite retry_all and kill_all APIs to use ZPOPMIN instead of a paginated cursor, fixes #6481 | 1 年前 | |
Add unit tests for Sidekiq::Deploy (#7013) Deploy had no dedicated test (only used as setup in metrics_test). Cover its own behavior: mark! keys entries by the minute-floored iso8601 stamp, rolls up multiple marks within the same minute into one entry (via the per-label lock and hsetnx on the minute stamp), records separate entries across minutes, fetch returns an empty hash for a date with no marks, and mark! falls back to the git-derived label. | 3 个月前 | |
Remove dead code left over from the 8.0 error-handler refactor (#6998) Commit 4c16046d removed the arity-based error-handler dispatch but left behind the now-unused Config#parameter_size method and the orphaned DEPRECATED_ERROR_HANDLERS test constant (which references handler constants that no longer exist). Remove both. Also replace the stray `p ["!!!!!", ex]` debug line on the no-error-handlers branch with logger.error so a configuration that clears all error handlers still surfaces exceptions through the configured logger instead of dumping inspect output to $stdout. | 4 个月前 | |
Freeze all string literals in source, fixes #2741 Tests pass and smoke test works perfectly. | 10 年前 | |
Renames test files to `*_test.rb` (#5618) | 3 年前 | |
Verify rack session in core since CSRF protection is no longer mandatory | 1 年前 | |
INFO signal not necessary | 8 个月前 | |
Fix IterableJobQuery cursor fallback when cursor JSON is invalid (#7018) State#cursor parses raw["c"] as JSON and intends to fall back to the raw string on JSON::ParserError, but the rescue clause references @raw["c"]. Sidekiq::IterableJobQuery::State is a Struct, and Struct members are not exposed as @-prefixed instance variables on modern Ruby — @raw is nil, so the rescue raises NoMethodError instead of returning the raw cursor. Drop the stray @. Also add a dedicated test/iterable_job_query_test.rb covering the rescue path plus the bulk_fetch/State surface (nil arg, empty list, missing state, present state with executions/runtime/cursor/cancelled, dedup/compact of jid input). | 3 个月前 | |
Renames test files to `*_test.rb` (#5618) | 3 年前 | |
Add JobLogger failure-path tests and elapsed assertion (#7027) Existing tests only exercised the happy path of JobLogger#call. Add coverage for: - the rescue Exception branch: when the job block raises, the logger emits 'fail' (not 'done'), elapsed is still recorded on Sidekiq::Context, and the exception propagates. - elapsed is also recorded on the happy path (Float, >= 0). | 3 个月前 | |
Add tests for Setter#perform_in scheduling and .delay deprecations (#7036) Four cohesive tests pinning Sidekiq::Job's deferred-execution contracts: - perform_in with a positive interval schedules into ScheduledSet, not the queue. - perform_at with a number >= 1_000_000_000 is treated as an absolute epoch timestamp rather than a relative offset (the documented optimization in Setter#at). - perform_in with a past interval skips scheduling and enqueues immediately (the 'ts > now' branch). - delay / delay_for / delay_until each raise ArgumentError redirecting the caller to the modern perform_async / perform_in / perform_at method. | 3 个月前 | |
Add tests for JobUtil verify_json modes and bare-Class validation (#7010) verify_json supported three on_complex_arguments modes but only :raise was tested. Add coverage for :warn (warns instead of raising) and the disabled mode (no-op), toggling via Sidekiq.strict_args! and restoring the global default. Also cover normalize_item raising for a bare Class that isn't a Sidekiq::Job (the normalized_hash error path). | 3 个月前 | |
Add tests for launcher memory_usage and grabber pid handling (#7012) Follow-up coverage for the memory grabber fixed in #7011. The existing tests only call MEMORY_GRABBER with $$ (plus a Linux-only check), and the memory_usage wrapper was untested. Add cross-platform coverage that the grabber reads a different process by pid (Process.ppid) and that memory_usage returns a positive integer for a given pid. | 3 个月前 | |
Add ability to extend sidekiq/api when it is loaded (#6825) | 11 个月前 | |
Add tests for Sidekiq's default logger initialization and formatters (#7034) Five cohesive tests covering the logger lifecycle from default config through formatter output. Spans two test files since the contract spans two lib files (Config picks the formatter; Logger formats the output). test/config_test.rb: - Config#logger picks Formatters::WithoutTimestamp when ENV['DYNO'] is set (Heroku convention). - Config#logger picks Formatters::Pretty otherwise. test/logger_test.rb: - Formatters::Plain emits an uncoloured log line with the documented shape and contains no ANSI colour escapes. - Base#format_context joins Array context values with commas (the path used to render :tags and similar list-valued context). - Context.with restores the prior thread-local context even when the block raises (the ensure-clause contract). | 3 个月前 | |
Align worker replacement and stats with runtime concurrency (#6943) | 6 个月前 | |
Metrics: draw deploy marks from every day the queried window spans (#7056) | 2 个月前 | |
standardrb update, formatting | 10 个月前 | |
Don't return nil from page_items for a negative page size (#7014) A negative page_size made Array#[] return nil instead of a slice, so page_items returned [page, total, nil]. The Web UI Busy page passes the user-controlled count query param straight through as page_size, so a request like /busy?count=-1 produced a nil @workset and crashed the page with a NoMethodError (500). Clamp a negative page_size to 0 so the paginator always returns an array. Adds a paginator unit test and a web integration test (GET /busy?count=-1 now returns 200 instead of 500). | 3 个月前 | |
Update error_handler proc to include config parameter (#6974) | 5 个月前 | |
Support profiling ActiveJob jobs (#6937) If an AJ job instance responds to #profile then pass it as the 'profile' option in the base Sidekiq payload. | 6 个月前 | |
Don't load ActiveJob::Base during initialization (#6710) * fix: reorder Sidekiq job and ActiveJob adapter requires * Allow booting the test/dummy Rails app * Add a test for ActiveJob::Base config initialization * Don't load ActiveJob::Base during initialization --------- Co-authored-by: Abdelkader Boudih <terminale@gmail.com> | 1 年前 | |
Minor changes for ractor compat, use class_eval to avoid capturing surrounding context, don't assert connection_pool specific details | 30 天前 | |
Adjust job_retry to only require a config, not a full capsule | 3 个月前 | |
Adjust job_retry to only require a config, not a full capsule | 3 个月前 | |
Add RingBuffer unit tests and expand SdNotify coverage (#6997) RingBuffer had no test coverage; add tests for wraparound, delegation, Enumerable support, and reset. Expand systemd_test.rb to cover the remaining SdNotify methods (reloading/status/errno/mainpid/fdstore), the no-socket no-op path, NotifyError, unset_env, and watchdog? edge cases. | 4 个月前 | |
fix flaky random test | 9 个月前 | |
standardrb update, formatting | 10 个月前 | |
Add tests for Sidekiq::Client argument-validation contracts (#7035) Six cohesive tests pinning the user-visible error contracts on Sidekiq::Client — uncovered before, all asserting both the raise and the documented error message. test/client_test.rb (push_bulk validation): - A non-Numeric scalar 'at' (e.g. 'soon') raises with the documented 'Numeric or an Array of Numeric timestamps' message. - An empty Array 'at' raises with the same message (Array(at).empty? branch of the guard). - Explicit 'jid' with more than one job raises with the documented message. - Providing both 'at' and 'spread_interval' raises with the 'Only one of...' message. test/sharding_test.rb (.via validation): - Client.via(nil) raises ArgumentError with 'No pool given'. - Client.via restores the previous thread-local :sidekiq_redis_pool even when the block raises (the ensure-clause contract that prevents pool leaks across sharded blocks). | 3 个月前 | |
Minor changes for ractor compat, use class_eval to avoid capturing surrounding context, don't assert connection_pool specific details | 30 天前 | |
Fix racy test assertions | 30 天前 | |
Add RingBuffer unit tests and expand SdNotify coverage (#6997) RingBuffer had no test coverage; add tests for wraparound, delegation, Enumerable support, and reset. Expand systemd_test.rb to cover the remaining SdNotify methods (reloading/status/errno/mainpid/fdstore), the no-socket no-op path, NotifyError, unset_env, and watchdog? edge cases. | 4 个月前 | |
standardrb update, formatting | 10 个月前 | |
standardrb update, formatting | 10 个月前 | |
standardrb update, formatting | 10 个月前 | |
Remove maxitest, mostly non-essential, migrate to basic minitest | 9 个月前 | |
re-fmt with latest standard | 1 个月前 | |
Add tests for Sidekiq::Web::Action flash helpers (#7026) The flash / flash? / get_flash trio on Sidekiq::Web::Action had no direct coverage. Pin its subtle behavior: flash stores the block's return value under :skq_flash in the session; flash? returns the current value (or nil); get_flash returns the flash, deletes it from the session, and memoizes so subsequent reads keep returning the same value. | 3 个月前 | |
Read Web UI locale and view files as UTF-8, fixes #7081 (#7082) | 1 天前 | |
Add unit tests for Sidekiq::Web::Route (#7023) Sidekiq::Web::Route (router pattern matching) was only exercised indirectly through the web request tests. Add a dedicated test/web_router_test.rb covering the two compile paths and their match outcomes: a plain string path matches exactly (returning EMPTY) and rejects extra segments; a path with named segments (`/queues/:name`) compiles to an anchored Regexp and returns the captures as a symbol-keyed Hash; multiple named segments are all captured; partial matches return nil. | 3 个月前 | |
Escape queue to avoid future AI security false alarms Queue name is unescaped on several pages. Generally this has never been an issue because queue name is static, not something the user controls via input. But AI scanners are issuing alerts for it so we'll escape it anyways to avoid concerns going forward. | 3 个月前 | |
chore: more rack::lint | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 年前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 3 个月前 | ||
| 10 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 年前 | ||
| 10 个月前 | ||
| 1 天前 | ||
| 7 年前 | ||
| 3 个月前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 10 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 3 个月前 | ||
| 3 年前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 10 个月前 | ||
| 3 个月前 | ||
| 5 个月前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 30 天前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 3 个月前 | ||
| 30 天前 | ||
| 30 天前 | ||
| 4 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 1 天前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 年前 |