Hi,
what is the recommended way to deal with evolution of job and job parameter types once you have Hangfire (with SQL Server storage) running in production?
As an example, say you have an application running with Hangfire that has an INotificationProcessor
job type. Now, for the next version, you want to refactor that job type - give it a new name, change its parameter types, or move it to a new assembly. If you simply do this and deploy the new version to production, you’ll get errors whenever processing an old job as it can no longer be deserialized.
Is there any way to tell Hangfire how to “upcast” an old serialized job to a new version? Or a recommendation about how to migrate serialized jobs in the database when releasing a new version?
(I guess I could reimplement Hangfire.SqlServer.SqlServerConnection
, but this seems like a lot of complexity for a common scenario.)