HangfireIO / HangfireIO/Hangfire

RecurringJobScheduler.TryScheduleJob not checking queue before attempting to deserialise job

Open
#908 3 comments 12 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
10.1k
Forks
1.8k
Avg merge
1h 19m
Merged PRs (30d)
1

Description

This is more of an observation than an issue but why does Hangfire attempt to deserialise the job before checking whether the specific Hangfire instance actually services the queue that is allocated to the job.

I can see that there is a pull request to change this behaviour but it has been sat in limbo for a long time.

We have Hangfire in a busy distributed environment using SQL storage with multiple server instances (different queues) and the job load exceptions produce a lot of unnecessary noise in the logs.

Contributor guide

Open the contributing guide

Research direction

Start by reading RecurringJobScheduler.TryScheduleJob and trace how the assigned queue and job deserialization are handled. Check the long-standing pull request referenced in the issue for existing context. Done should mean servers skip jobs from queues they do not service before deserialization, avoiding unnecessary load exceptions in the logs.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.