User_List 导出失败

当我尝试导出用户列表时,收到“数据导出失败”的提示。导出确实失败了,但我在错误日志中没有看到任何记录。我在 2020 年 9 月 15 日曾成功导出过用户列表。由于数据浏览器(Data Explorer)运行正常,我不怀疑是数据库问题。有什么建议吗?

1 个赞

更新主贴。
今天我重新审视了这个问题,发现了许多已过期的邀请链接并将其移除。再次尝试用户导出,结果相同,仍未收到错误报告。执行了 ./launcher rebuild app 后,再次尝试用户导出,这次虽然仍然失败,但收到了错误报告。详情如下:

信息:

作业异常:nil:NilClass 没有 email 方法

回溯:
/var/www/discourse/app/models/user.rb:1247:in `email’

/var/www/discourse/app/jobs/regular/export_csv_file.rb:261:in `get_base_user_array'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:128:in `block in user_list_export'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:70:in `block (2 levels) in find_each'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:70:in `each'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:70:in `block in find_each'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:136:in `block in find_in_batches'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:238:in `block in in_batches'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:222:in `loop'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:222:in `in_batches'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:135:in `find_in_batches'

activerecord-6.0.3.3/lib/active_record/relation/batches.rb:69:in `find_each'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:127:in `user_list_export'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:66:in `each'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:66:in `block (2 levels) in execute'

/usr/local/lib/ruby/2.6.0/csv.rb:657:in `open'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:64:in `block in execute'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:63:in `each'

/var/www/discourse/app/jobs/regular/export_csv_file.rb:63:in `execute'

/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'

rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in `with_connection'

/var/www/discourse/app/jobs/base.rb:221:in `block in perform'

/var/www/discourse/app/jobs/base.rb:217:in `each'

/var/www/discourse/app/jobs/base.rb:217:in `perform'

sidekiq-6.1.2/lib/sidekiq/processor.rb:196:in `execute_job'

sidekiq-6.1.2/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'

sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'

/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'

sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'

sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:143:in `invoke'

sidekiq-6.1.2/lib/sidekiq/processor.rb:163:in `block in process'

sidekiq-6.1.2/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'

sidekiq-6.1.2/lib/sidekiq/job_retry.rb:111:in `local'

sidekiq-6.1.2/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'

sidekiq-6.1.2/lib/sidekiq.rb:38:in `block in <module:Sidekiq>'

sidekiq-6.1.2/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'

sidekiq-6.1.2/lib/sidekiq/processor.rb:257:in `stats'

sidekiq-6.1.2/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'

sidekiq-6.1.2/lib/sidekiq/job_logger.rb:13:in `call'

sidekiq-6.1.2/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'

sidekiq-6.1.2/lib/sidekiq/job_retry.rb:78:in `global'

sidekiq-6.1.2/lib/sidekiq/processor.rb:124:in `block in dispatch'

sidekiq-6.1.2/lib/sidekiq/logger.rb:10:in `with'

sidekiq-6.1.2/lib/sidekiq/job_logger.rb:33:in `prepare'

sidekiq-6.1.2/lib/sidekiq/processor.rb:123:in `dispatch'

sidekiq-6.1.2/lib/sidekiq/processor.rb:162:in `process'

sidekiq-6.1.2/lib/sidekiq/processor.rb:78:in `process_one'

sidekiq-6.1.2/lib/sidekiq/processor.rb:68:in `run'

sidekiq-6.1.2/lib/sidekiq/util.rb:15:in `watchdog'

sidekiq-6.1.2/lib/sidekiq/util.rb:24:in `block in safe_thread'

环境:

主机名 ubuntu-s-1vcpu-1gb-nyc1-01-app
|进程 ID|771|
|应用版本|a47c8f05855a7b4a15d69dfbf3ef1e894a35f418|
|当前数据库|default|
|当前主机名|discourse.example.com|
|作业|Jobs::ExportCsvFile|
|问题数据库|default|
|时间|下午 3:10|
|||
|选项||
|实体|user_list|
|用户 ID|1|
|当前站点 ID|default|
|||
|参数||
|信任级别|active|

非常感谢您的帮助来排查此问题。提前致谢。