Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A deploy rarely throws an exception inside your job. The platform asks the worker process to stop, the worker is still holding a job, and the platform removes the process before that job finishes. No handler code reports an error, so the work just stops partway through. Whether the job is then retried, redelivered, pushed back, or lost depends on two things: how the worker handled the shutdown signal, and how the queue library recovers work that was left behind.

What a deploy sends to your worker

Most container platforms follow the same termination sequence, even though the names of the steps differ between stacks.

  1. The orchestrator or deploy script sends a termination signal, usually SIGTERM, to the process it started. In Kubernetes, that is the root process of the container.
  2. The worker stops claiming new jobs. Depending on the library, this is triggered by SIGTERM, by a separate “stop fetching” signal, or by a close call in your code.
  3. Active jobs either finish, or the handler saves a checkpoint and returns so the process can exit.
  4. If the process is still running when the grace period ends, the platform sends SIGKILL. The process cannot catch that signal and gets no chance to clean up.

The gap between step 1 and step 4 is the only window your worker has to behave well. If the shutdown path needs longer than that window, the platform decides the outcome for you.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why the job shows no error

A job fails with an exception when handler code raises one and the library records it. A SIGKILL skips all of that. The handler never returns, the error tracker receives nothing, and the job record in the queue still shows as active under a worker that no longer exists.

#1 Best Overall
Sale
Vaydeer One-Handed Mechanical Keyboard Support NKRO, Hotkeys, One-Click Start,9 Fully Programmable Keys with Floating Window and Macro Multifunctional Keypad for iOS,Windows, Gift Idea for Him/Her
  • 6 Functional Layers and 9 NKRO Keys:6 customizable functional layers for diferent scene. One for gaming, one for designing, it's up to you. And you can switch between layers by scrolling the mouse in the floating window area, or you can switch layers automatically based on the application you are using. 9 non-conflict Keys with macros allows you to press or hold multiple keys simultaneously, giving you accurate response with high speed and experiencing a new level of gaming and typing. Ideal Christmas gift for gamers, designers and office workers.
  • User-Friendly Interface and Floating Window:With user-friendly interface and real-time floating window, you will never forget the function of the key being used at the moment. This one handed macro mechanical keyboard can make your work faster and more efficient, and make the game experience more comfortable and smooth. Besides, you can carry the macro keyboard anywhere due to the compact and elegant design.
  • OTA Upgrade and Setting Sharing:The macro keyboard supports OTA online upgrade. Timely push message reminds you to update the firmware for more useful functions. Easy setting and you can export/import your settings for backup. No more set up for different computers. You can also share your settings with friends. If you have any problems with this one-handed macro mechanical keyboard, please feel free to contact us, we are sure to provide you with a satisfactory solution.
  • Multifunctional Keyboard with Easy Setup:This programmable mechanical keyboard supports multimedia control, hotkeys, one-click start, real mouse, macro, etc. Simple settings achieve complex key funtions such as one-click start:folders / documents / common websites / APPs / System function, etc. Powerful but easy to set up. Just set the function you want on the key, then drag the function key to the corresponding virtual key, and remember to click FLASH THE KEYBOARD, and it's done.
  • Work Partner and Game Booster:The mechanical keyboard can save a lot of time wasted during working via one-click copy / paste / delete/ one click to open the system settings, which can greatly improve the efficiency of working. Besides, it's also a great game booster.You can do multiple combos or shovel slide with one click for CSGO, OSU, etc. Four different modes of macro for better control. No repeat,Repeat by holding, trigger(upcoming),sequence(upcoming).

The queue notices only later, through its own recovery mechanism. That is where a visible outcome finally appears: a stalled-job event, a job returned to waiting, a job moved to failed, or a job that runs again on another worker. If you are looking for an exception in your logs, you will not find one, because the process was stopped rather than failed.

Graceful shutdown and queue recovery are separate paths

Keep these two mechanisms apart when you debug. Graceful shutdown is what the worker does while it still has time: it stops taking work and lets active jobs complete. Recovery is what the queue does after a worker disappears while holding a job. Good shutdown reduces how often recovery is needed. Recovery decides what happens when shutdown did not finish.

Path Who acts Trigger Typical result
Graceful shutdown Worker process SIGTERM, a stop-fetching signal, or a close call, depending on the stack No new jobs are claimed; active jobs finish or checkpoint; the process exits cleanly
Forced termination Platform or orchestrator The grace period expires and the process receives SIGKILL The process is gone and any active job is left incomplete
Queue recovery Queue library A lock, visibility timeout, or stalled-job check fires for a job nobody is still renewing The job may be returned to waiting, redelivered, pushed back to the queue, moved to failed, or, in some configurations, lost

How each stack handles the signal

The exact signal sequence differs by library and version. Do not copy one system’s sequence into another without checking that system’s documentation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sidekiq

Sidekiq’s deployment guidance describes a two-signal sequence. Send TSTP early so the process stops fetching new work, then send TERM later so it can shut down within its configured timeout. The deploy script should wait for that timeout plus five seconds after TERM before it escalates. Sending KILL too early can lose jobs, and with Sidekiq Pro’s super_fetch it can cause duplicate execution. When the timeout expires, Sidekiq documents pushing unfinished work back to Redis.

Rank #2
PCsensor 4 Key Mini Keypad USB Wired & BT Wireless Mini Keyboard Customized Programmable Computer Keyboard Mouse for Video Game Control Office Work Sheet Music Page Turner HID (White)
  • 【Programmable USB&Wireless Keyboard】2 Modes Connection: Wired with USB cable. BT Wireless connection. This 4-key USB mini keypad is equivalent to a keyboard or mouse, the keys can be configured via software as key, keycombo, hotkeys, shortcuts, mouse, video/music player controller, video game control, string function. The mini keybord has 3 keys so you can program them individually.
  • 【Widely Use】 The USB keypad is widely used in video games, office, sheet music page turning, equipment image capture, factory machine control, piano keyboard test and other occasions.
  • 【Rechargable Mini Keyboard】2 hours full charge can hold up 3 mouths use. If it is in low battery, the led light will flash interval 3 seconds to remind you.
  • 【Compatible with Various OS】 HID device, once finishing configuration on Windows system or Mac OS, this mini keypad can be used in various devices including iOS, Android, Windows ALL, Linux, Mac. HID device, you can delete the software after configuration.
  • 【PCsensor SERVICE】PCsensor stands behind every item it sells and also provides lifetime technical support, 24/7 service. All our products have obtained relevant certificates.

Sidekiq’s Kubernetes guidance adds two points. Kubernetes sends SIGTERM to the root process and SIGKILL after the pod’s termination grace period, and that grace period should be longer than the Sidekiq timeout. Wrapping the worker in a shell command can cause TERM to reach the shell instead of Sidekiq, so Sidekiq is killed when the grace period expires without ever shutting down.

Celery

Celery’s Workers Guide describes three shutdown signals. TERM starts a warm shutdown: the worker stops its work loop and lets currently executing tasks finish. QUIT starts a cold shutdown and stops active tasks. KILL cannot be caught, so executing work can be lost unless late acknowledgement is configured. The guide includes version-specific notes for Celery 5.2, 5.6, and 5.7, so confirm the note for your version before relying on exact semantics.

BullMQ

BullMQ’s graceful-shutdown guide calls for await worker.close() when the process receives a termination signal. As BullMQ’s documentation puts it: “The above call will mark the worker as closing so it will not pick up new jobs, and at the same time it will wait for all the current jobs to be processed (or failed).”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The close call has no timeout of its own. If your handler runs longer than the platform’s grace period, the host’s deadline ends the process before close completes, so the termination deadline still governs the outcome. If closure cannot complete, stalled-job handling lets another worker resume the job. BullMQ’s production guide gives about 30 seconds by default as the waiting time before stalled jobs can be picked up by new workers. Its stalled-job guide explains that active jobs must keep signalling that they are alive, and that a job can be returned to waiting or moved to failed if the worker stops doing so. A job that exceeds the configured stalled count can fail permanently. From BullMQ 2.0 onward, a QueueScheduler is no longer required for stalled-job recovery; older installations need guidance for their own version.

Rank #3
Redragon S101-3 PRO Gaming Keyboard and Mouse, RGB Backlit Programmable Keyboard Mouse with Software, Independent Macro Record Keys, Value Combo Set, New Update Version
  • 🎮𝐀𝐥𝐥-𝐢𝐧-𝐎𝐧𝐞 𝐆𝐚𝐦𝐢𝐧𝐠 & 𝐎𝐟𝐟𝐢𝐜𝐞 𝐂𝐨𝐦𝐛𝐨 - 𝐔𝐧𝐛𝐞𝐚𝐭𝐚𝐛𝐥𝐞 𝐕𝐚𝐥𝐮𝐞: Experience premium features without the premium price. This complete wired set includes a full-size RGB backlit keyboard AND a high-precision gaming mouse, offering everything you need for gaming, work, or study. Perfect for first-time gamers, students, and budget-conscious users seeking a durable and responsive upgrade from basic peripherals.
  • ✨𝐅𝐮𝐥𝐥𝐲 𝐂𝐮𝐬𝐭𝐨𝐦𝐢𝐳𝐚𝐛𝐥𝐞 𝐑𝐆𝐁 & 𝐌𝐚𝐜𝐫𝐨𝐬 - 𝐘𝐨𝐮𝐫 𝐂𝐨𝐧𝐭𝐫𝐨𝐥, 𝐘𝐨𝐮𝐫 𝐒𝐭𝐲𝐥𝐞: Dive into your gameplay with dynamic lighting. The keyboard features 6 vibrant backlight modes, and the mouse boasts 10 lighting effects. Easily customize colors, brightness, and patterns using the intuitive software (downloadable at redragon.com). Record complex command sequences with the 5 dedicated macro keys for a competitive edge in any game.
  • 🔇𝐐𝐮𝐢𝐞𝐭, 𝐂𝐨𝐦𝐟𝐨𝐫𝐭𝐚𝐛𝐥𝐞 & 𝐑𝐞𝐬𝐩𝐨𝐧𝐬𝐢𝐯𝐞 𝐓𝐲𝐩𝐢𝐧𝐠 𝐄𝐱𝐩𝐞𝐫𝐢𝐞𝐧𝐜𝐞: Designed for marathon sessions. The soft-touch membrane keys provide satisfying feedback while remaining remarkably quiet—ideal for shared spaces, late-night gaming, or office use. The included ergonomic wrist rest reduces fatigue, and the anti-ghosting keyboard ensures every key press is registered instantly, even during intense action.
  • ⚙️𝐏𝐥𝐮𝐠, 𝐏𝐥𝐚𝐲, 𝐚𝐧𝐝 𝐏𝐞𝐫𝐬𝐨𝐧𝐚𝐥𝐢𝐳𝐞 - 𝐄𝐚𝐬𝐲 𝐒𝐞𝐭𝐮𝐩, 𝐋𝐚𝐬𝐭𝐢𝐧𝐠 𝐒𝐞𝐭𝐭𝐢𝐧𝐠𝐬: Get straight to the fun with true plug-and-play compatibility for Windows 10/11. Your personalized lighting and DPI settings are saved directly to the hardware, meaning they stay the way you set them, even after restarting your PC. Adjust the mouse sensitivity on-the-fly (800-7200 DPI) with a dedicated button for precision in any task.
  • ✅𝐑𝐞𝐥𝐢𝐚𝐛𝐥𝐞 𝐏𝐞𝐫𝐟𝐨𝐫𝐦𝐚𝐧𝐜𝐞 & 𝐄𝐧𝐡𝐚𝐧𝐜𝐞𝐝 𝐂𝐨𝐦𝐩𝐚𝐭𝐢𝐛𝐢𝐥𝐢𝐭𝐲: Built to last and work seamlessly. We’ve listened to feedback to ensure reliable performance. This combo is rigorously tested for durability and offers wide compatibility with major PCs and laptops. It’s the trusted, feature-packed kit that delivers excitement for young gamers and reliable functionality for everyday users.

Side-by-side comparison

Stack Signal or call that stops new work Waits for active work Own time limit on the wait What happens on forced stop
Sidekiq TSTP first, then TERM Yes, until the configured Sidekiq timeout Yes, the configured timeout Unfinished jobs are pushed back to Redis at timeout; early KILL can lose jobs or cause duplicates with super_fetch
Celery TERM starts a warm shutdown Yes, executing tasks are allowed to finish Not stated in the Celery Workers Guide KILL cannot be caught; executing work may be lost unless late acknowledgement is configured
BullMQ await worker.close() Yes, close waits for active jobs to process or fail None; the host’s termination deadline applies Stalled-job handling lets another worker resume the job; jobs over the stalled limit can fail permanently

Set the grace period from real job durations

The grace period has to cover your longest normal job plus the time the shutdown path needs. Microsoft’s Azure Architecture Center advises allowing enough time for typical work to complete. Kubernetes defaults to a 30-second termination grace period unless the pod spec overrides it, as noted in Sidekiq’s Kubernetes guidance. Confirm the effective value in your cluster rather than assuming the default.

In a Kubernetes pod spec, the field is terminationGracePeriodSeconds. Launch the worker in a way that lets it receive the signal directly. The example below uses illustrative values only: a Sidekiq timeout of 25 seconds with a 60-second grace period, which leaves room for the shutdown to finish.

spec:
  terminationGracePeriodSeconds: 60
  containers:
  - name: worker
    image: example/worker:latest
    command: ["bundle", "exec", "sidekiq"]

If you must use a shell wrapper, use exec so the shell hands its process over to the worker and the worker receives the signal.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Jobs in Kubernetes Jobs and suspension

Kubernetes’ Job documentation describes a specific case: suspending a Job terminates its running Pods with SIGTERM, honors each Pod’s graceful termination period, and expects the Pod to handle the signal, for example by saving progress or undoing partial changes. That behavior applies to Job suspension. Confirm which controller created your worker pods, because a Deployment rollout in your cluster may follow a different path, and the Job-specific guidance does not describe it.

Rank #4
AULA S99 Wireless Keyboard,99 Key Computer Gaming Keyboards with Number Pad
  • Full Key Programmable: This custom keyboard supports full-key macro programming to create exclusive shortcut operations, helping you trigger complex commands with a single click and be a step ahead in the game. The unique dual-mode knob design of the black and white keyboard wireless allows you to quickly switch between gaming and office modes. In addition, with 3 programmable shortcut keys (M1/M2/M3), the usb keyboard lets you easily set up personalized functions to improve operational efficiency
  • Vibrant RGB Keyboard: The led keyboard comes with 16.8 million RGB color and 16 preset light effects add more fun to your desktop. With the knob or FN+ key combination, you can freely adjust the brightness and speed of the cute keyboard's lights to create an exclusive atmosphere(FN+END can switch backlit colour effect). With the macro software, you can also customize the lights to make your silent backlit keyboard truly unique and enjoy an immersive visual experience whether you are working or gaming
  • 99 Keys Compact Ergonomic Keyboard: This 96% layout retro keyboard combines vintage aesthetics with modern craftsmanship, and the integrated numeric keypad retains the familiar typing experience while freeing up more desktop space. This aula keyboard is equipped with a foldable two-stage stand, you can adjust the angle of the clicky keyboard according to your needs, reducing the pressure on your wrists and creating a more comfortable typing experience
  • Multi-device Connectivity: AULA light up keyboard supports Bluetooth 5.0, 2.4GHz wireless and USB-C wired connectivity modes, enjoying convenient switching anytime, anywhere. Up to 5 devices can be connected at the same time, one key switch, no need to pair repeatedly. Whether it's for office, gaming or mobile use, this typewriter keyboard delivers a seamless experience for another level of efficiency
  • Gaming Keyboard: All keys on this aula s99 wireless keyboard support macro customization, which allows you to record and edit macros to program a series of complex actions into a key, useful in very real-time games for amateur gamers.If you have very strict requirements for game response speed, it is recommended that you purchase a mechanical keyboard priced at $50 or more, which is more suitable for professional gamers.The aula s99 pc keyboard is compatible with Windows XP/7/8/10, Mac, Android and iOS. Please NOTE: this product is a membrane keyboard not mechanical keyboard and this doesn't support hot-swapping

Make replay safe before you tune timeouts

Once a job can run again, a second execution must not corrupt state or repeat an irreversible side effect. None of the libraries above guarantees exactly-once execution, so design for at-least-once behavior. Practical measures include:

  • Use an idempotency key for external side effects such as payments, emails, and webhooks, and check it before acting.
  • Record completion in the same database transaction as the state change it depends on.
  • Checkpoint long jobs in stages so a rerun can resume instead of starting over.
  • Avoid acknowledging or marking work complete before its effects are durable.

Microsoft’s Azure guidance for queue-driven tasks says to complete the current message to avoid unnecessary redelivery. If the work cannot finish within the grace period, the task should checkpoint progress or let message visibility expire so another instance can take it.

Diagnose an interrupted worker

  1. Confirm which process receives the deploy signal. Inside the container, run ps -o pid,args -p 1. If PID 1 is a shell rather than your worker, the worker will not see SIGTERM.
  2. Check worker logs and queue state around the deploy time. Look for shutdown messages, stalled events, jobs returned to waiting, and jobs moved to failed.
  3. For BullMQ, review stalled events and the configured stalled-job limit (maxStalledCount in worker options). A job can be moved to failed once it exceeds that limit.
  4. Check whether the worker stops fetching when shutdown begins and whether the handler awaits active work before the process exits.
  5. Compare the longest normal job duration plus shutdown time with the platform’s grace period. If the job takes longer, the platform will force the stop before the handler can finish.
  6. Verify signal, timeout, and acknowledgement settings against the documentation for your exact library version. Celery’s acknowledgement behavior and BullMQ’s stalled-job behavior both depend on configuration.

If the platform sends SIGKILL and the job is repeatedly lost, shorten the job or checkpoint it first. Lengthening the grace period only helps when the platform is actually giving the worker enough time to run its shutdown path.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.