# Sidekiq 任务（Calculate Scores）在 PG15 迁移后持续失败

**URL:** <https://meta.discourse.org/t/sidekiq-job-calculate-scores-are-constantly-failing-after-pg15-migration/354100>\
**Category:** Support\
**Tags:** postgres\
**Created:** [2025年二月24日 10:28 UTC](https://meta.discourse.org/t/sidekiq-job-calculate-scores-are-constantly-failing-after-pg15-migration/354100 "2025-02-24T10:28:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dmitry\_Krasnoperov](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dmitry_krasnoperov/32/65079_2.png) [@Dmitry\_Krasnoperov](https://meta.discourse.org/u/Dmitry_Krasnoperov)\
**Post date:** [2025年二月24日 10:28 UTC](https://meta.discourse.org/t/sidekiq-job-calculate-scores-are-constantly-failing-after-pg15-migration/354100/1 "2025-02-24T10:28:11Z")

</div>

您好。在迁移到 PSQL15 后，我的一个作业（计算分数）突然一直失败：

```plaintext
Job exception: ERROR: could not open file "base/16384/544114.1" (target block 655360): previous segment is only 20325 blocks
Job exception: ERROR: could not open file "base/16384/544113.1" (target block 134235414): previous segment is only 41880 blocks
(no such files present in psql data folder)

Backtrace:
rack-mini-profiler-3.3.1/lib/patches/db/pg.rb:110:in `exec'
rack-mini-profiler-3.3.1/lib/patches/db/pg.rb:110:in `async_exec'
mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
activesupport-7.2.2.1/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
mini_sql-1.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196:in `exec'
(eval at /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/builder.rb:62):2:in `exec'
/var/www/discourse/lib/score_calculator.rb:73:in `update_posts_rank'
/var/www/discourse/lib/score_calculator.rb:15:in `calculate'
/var/www/discourse/app/jobs/scheduled/calculate_scores.rb:8:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'

```

另外，我的两个用户报告说在访问他们的公开个人资料时出现 500 错误，但他们的个人资料没有任何问题：

/u/username/summary.json

有什么修复此问题的建议吗？

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [2025年二月24日 15:39 UTC](https://meta.discourse.org/t/sidekiq-job-calculate-scores-are-constantly-failing-after-pg15-migration/354100/2 "2025-02-24T15:39:18Z")

</div>

> [@Dmitry\_Krasnoperov](#):
>
> ```plaintext
> Job exception: ERROR: could not open file "base/16384/544114.1" (target block 655360): previous segment is only 20325 blocks
> Job exception: ERROR: could not open file "base/16384/544113.1" (target block 134235414): previous segment is only 41880 blocks
> (no such files present in psql data folder)
> 
> ```

您的数据库文件有问题。您可能需要先调查一下。
