개인 사이트에서 며칠에 한 번씩 스팸 사용자를 삭제해야 합니다. 보통 flag -> it's spam -> delete spammer -> yes, delete spammer 루틴을 사용하는데, 잘 동작합니다(클릭 횟수가 좀 많긴 하지만요).
최근에는 오류가 표시되기 시작했습니다 - 스크린샷을 참조하세요. 팝업을 닫으면 스팸 게시물과 스팸 사용자가 삭제되므로 치명적인 문제는 아니지만, 메시지는 여전히 혼란스럽습니다!
개인 사이트에서 며칠에 한 번씩 스팸 사용자를 삭제해야 합니다. 보통 flag -> it's spam -> delete spammer -> yes, delete spammer 루틴을 사용하는데, 잘 동작합니다(클릭 횟수가 좀 많긴 하지만요).
최근에는 오류가 표시되기 시작했습니다 - 스크린샷을 참조하세요. 팝업을 닫으면 스팸 게시물과 스팸 사용자가 삭제되므로 치명적인 문제는 아니지만, 메시지는 여전히 혼란스럽습니다!
try.discourse.org에서 이 문제를 재현해 볼 수 있나요?
여기 /logs를 확인해 볼 수 있나요? 실패한 원인을 설명하는 메시지가 있을 수 있습니다.
아, 상기시켜 주셔서 감사합니다. 실제로 에러 로그에 메시지가 있습니다.
Message (10 copies reported)
Failed to process hijacked response correctly : Couldn't find all Topics with 'id': (1024, 1042, 61) [WHERE ("topics"."deleted_at" IS NULL)] (found 1 results, but was looking for 3).
Backtrace
activerecord-6.0.2.2/lib/active_record/relation/finder_methods.rb:344:in `raise_record_not_found_exception!'
activerecord-6.0.2.2/lib/active_record/relation/finder_methods.rb:492:in `find_some_ordered'
activerecord-6.0.2.2/lib/active_record/relation/finder_methods.rb:458:in `find_some'
activerecord-6.0.2.2/lib/active_record/relation/finder_methods.rb:437:in `find_with_ids'
activerecord-6.0.2.2/lib/active_record/relation/finder_methods.rb:69:in `find'
activerecord-6.0.2.2/lib/active_record/querying.rb:21:in `find'
activerecord-6.0.2.2/lib/active_record/core.rb:160:in `find'
/var/www/discourse/plugins/discourse-events/plugin.rb:297:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:341:in `block in on'
/var/www/discourse/lib/discourse_event.rb:14:in `block in trigger'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each_key'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each'
/var/www/discourse/lib/discourse_event.rb:13:in `trigger'
/var/www/discourse/app/models/user.rb:1563:in `trigger_user_destroyed_event'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:429:in `block in make_lambda'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:264:in `block in conditional'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:518:in `block in invoke_after'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:518:in `each'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:518:in `invoke_after'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:136:in `run_callbacks'
activesupport-6.0.2.2/lib/active_support/callbacks.rb:827:in `_run_commit_callbacks'
activerecord-6.0.2.2/lib/active_record/transactions.rb:340:in `committed!'
activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/transaction.rb:127:in `commit_records'
activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/transaction.rb:265:in `block in commit_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/transaction.rb:255:in `commit_transaction'
activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/transaction.rb:293:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
activerecord-6.0.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'
activerecord-6.0.2.2/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/app/services/user_destroyer.rb:140:in `optional_transaction'
/var/www/discourse/app/services/user_destroyer.rb:28:in `destroy'
/var/www/discourse/app/controllers/admin/users_controller.rb:388:in `block in destroy'
/var/www/discourse/lib/hijack.rb:56:in `instance_eval'
/var/www/discourse/lib/hijack.rb:56:in `block in hijack'
/var/www/discourse/lib/scheduler/defer.rb:94:in `block in do_work'
rails_multisite-2.1.1/lib/rails_multisite/connection_management.rb:259:in `with_connection'
rails_multisite-2.1.1/lib/rails_multisite/connection_management.rb:61:in `with_connection'
/var/www/discourse/lib/scheduler/defer.rb:89:in `do_work'
/var/www/discourse/lib/scheduler/defer.rb:79:in `block (2 levels) in start_thread'
Env
hostname discourse-app
process_id 30507
application_version 0ae504aece5fdcf6187cdde82b1c819fbd67a2b8
HTTP_HOST discourse.FOO.org
REQUEST_URI /admin/users/3601.json
REQUEST_METHOD DELETE
HTTP_USER_AGENT Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36
HTTP_ACCEPT */*
HTTP_REFERER https://discourse.FOO.org/t/for-employment/6179
HTTP_X_FORWARDED_FOR 73.19.14.84, 73.19.14.84
HTTP_X_REAL_IP 73.19.14.84
username tobiaseigen
time 6:50 am
params
delete_posts true
block_email true
block_urls true
block_ip true
delete_as_spammer true
context /t/for-employment/6179