0

我正在使用 Hangfire 1.7.11 和这个过滤器,但我将指纹格式更改为使用SHA256Hash

protected static string GetFingerprint(Job job)
{
    string parameters = string.Empty;
    if (job.Args != null)
    {
        parameters = string.Join(".", job.Args);
    }
    if (job.Type == null || job.Method == null)
    {
        return string.Empty;
    }
    var fingerprint = String.Format(
        FingerprintFormat,
        job.Type.FullName,
        job.Method.Name,
        parameters);

    return fingerprint.ComputeSHA256Hash();
}

我不知道为什么hangfire 没有执行预定的作业。我正在安排这样的工作:

BackgroundJob.Schedule<Job>(s => s.Execute(Id), TimeSpan.FromMinutes(2));
  • 我的数据库是在 AWS 上运行的 SQL Server Express;
  • 我的前端和后端在同一台服务器上;
  • 我有一个正在运行的服务器。
  • 经常性工作看起来还可以;

您可以在下图中看到问题:

编辑 1

但是,这些作业是由另一个应用程序安排的。使用相同的想法:

BackgroundJob.Schedule<Job>(s => s.Execute(Id), TimeSpan.FromMinutes(2));

我有一个使用相同数据库服务器但在不同数据库上的登台环境。它可以工作,但是对于生产来说,我还有更多的工作要处理。

编辑 2

昨天我删除了数据库,今天它运行良好。我们正在使用 AWS ECS Fargate 和 Autoscaling。有时会在必要时添加一些服务器。我不知道这会不会有问题。

4

0 回答 0