HangfireIO / Hangfire

An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required
https://www.hangfire.io
Other
9.12k stars 1.67k forks source link

Add Source section to dashboard job details #2383

Open epenet opened 2 months ago

epenet commented 2 months ago

Currently there is no easy way to see what was extracted from the database.

We have three separate projects sharing a common abstraction dll:

We had an issue in which the job abstraction dll was out of date on the dashboard project and this caused great confusion as the description as the top did not match the content of the database due to deserialization/serialization using an older schema.

odinserj commented 2 months ago

Hm, can you share some more details about the issue you had before proceeding to the next steps?

epenet commented 2 months ago

It's kind of hard to describe, so hopefully this makes sense.

We have two dlls:

We have the following scenario:

We were very very confused and we spent a long time investigating Server 1 to understand why the argument was being passed wrong. Why did it seem to be using an older version of the abstraction dll when it had been correctly updated? After a while we decided to check the database, and we found that in the database, the argument was correctly set to ["{\"WorkflowIDList\": [1, 2, 3]}"]

That's when we (finally) understood that the issue was not on Server 1 creating the job with wrong settings, but instead with Server 3 displaying settings that were not in the database.

This patch adds a display for the raw database settings, which may or may not match the arguments displayed in the top section.