CadyIO / hangfire-ravendb

RavenDB job storage for Hangfire
https://www.nuget.org/packages/Hangfire.Raven/
18 stars 35 forks source link

Embedded storage question #18

Open MaksimMyshkin opened 7 years ago

MaksimMyshkin commented 7 years ago

Why GlobalConfiguration.Configuration.UseEmbeddedRavenStorage() option is removed since 2.0 version? Is new way exist to configure it? In README this way is stayed. I am confused a little...

jblacker commented 6 years ago

I did some digging and found that they were removed in commit 5d27d05ac0e73d7c94e3d3c39bea39e2eff78600, but it's unclear why. This might have been an oversight or there was some undocumented reason for it. I hope that @AustinWinstanley or the committer @derekdhaas has an answer though. I'm going to fork and see if I can add it back in and and find out why they might have been removed when I have some time.

jblacker commented 6 years ago

@MeteorBoom Ok, so it looks like this was done because the Embedded version doesn't currently work with .NET Core. They would need to do conditional compilation to restore the embedded version functionality. I'm going to see if this can be done in my local fork.

AustinWinstanley commented 6 years ago

Yes, it was because of .Net Core. If you would like to put conditionals in there I will merge them.

jblacker commented 6 years ago

@AustinWinstanley I'm getting a concurrency exception due to mismatching etags when using the embedded db in my fork using a copy of your sample project downgraded to .NET 4.5. It only happens once shortly after initialization, but I need to do some more testing when the state change is being saved and committed for a job.

EDIT: So in my testing I've found that it only happens when enqueuing a job without scheduled delay or recurring schedule after that task runs. ie: BackgroundJob.Enqueue(() => doSomething()); <--after that runs an error will be thrown.