Hangfire with UsePostgreSqlStorage settings and concurrency

I am using the below packages for my project and have some problems with settings and concurrency.

I am using InvisibilityTimeout = TimeSpan.MaxValue as I have really long tasks eg. 50 hours. as far as I know PostgreSqlStorage does not support SlidingTimeout and not sure how to use it.

First question: Is there a way to extend running jobs invisibility timeout using/updating PerformContext context data?

Another issue I am having is concurrency as I have long-running jobs this is not working as I wanted. Currently, I am using [DisableConcurrentExecution(timeoutInSeconds: 10 * 60)] but this is not working how I expected. If there is a running task Hangfire keeps adding them to Q and after the timeout, it started running the second one even though there is already a running job.

Is there a way to not add the same task completely? Otherwise, I am planning to implement a HashTable check as currently one server or a simple table select with EF Core. Is there a way in Hangfire to do that for a running job? eg context.IsRunning(“jobName”)

<PackageReference Include="Hangfire.AspNetCore" Version="1.8.0" />
<PackageReference Include="Hangfire.Console" Version="1.4.2" />
<PackageReference Include="Hangfire.Core" Version="1.8.0" />
<PackageReference Include="Hangfire.PostgreSql" Version="1.19.12" />