Error de excepción en el trabajo: método `scheduled?' undefined para nil cuando se menciona una persona AI en la publicación

Cuando mencioné mi bot de IA en una publicación, no reaccionó en absoluto, así que revisé el registro de errores y apareció este error:
Job exception: undefined method `scheduled?' for nil

Aún no me había sucedido esto y todo lo demás en la instalación funciona bien, y mi cuenta de API tiene fondos. Mi versión es 3.4.0.beta2-dev (361e954c55)
Aquí está el backtrace:

/var/www/discourse/app/jobs/scheduled/run_problem_checks.rb:19:in `block in execute'
activerecord-7.1.4/lib/active_record/relation/delegation.rb:100:in `each'
activerecord-7.1.4/lib/active_record/relation/delegation.rb:100:in `each'
/var/www/discourse/app/jobs/scheduled/run_problem_checks.rb:18:in `filter_map'
/var/www/discourse/app/jobs/scheduled/run_problem_checks.rb:18:in `execute'
/var/www/discourse/app/jobs/base.rb:322: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:309:in `block in perform'
/var/www/discourse/app/jobs/base.rb:305:in `each'
/var/www/discourse/app/jobs/base.rb:305:in `perform'
/var/www/discourse/app/jobs/base.rb:376:in `perform'
mini_scheduler-0.17.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
mini_scheduler-0.17.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
mini_scheduler-0.17.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'

:warning: Actualización: ahora este error parece estar acumulándose. Tengo 20 de estos errores y aparecen en el registro de errores en incrementos de 10 minutos.

Intenté la mención de nuevo y ahora tengo el error:
Excepción del trabajo: Algo salió mal. ¿Quizás este tema se cerró o se eliminó mientras lo mirabas?

con el backtrace:

Mensaje (se informaron 2 copias)

Excepción del trabajo: Algo salió mal. ¿Quizás este tema se cerró o se eliminó mientras lo mirabas?

Backtrace

/var/www/discourse/lib/post_creator.rb:238:in `create!'
/var/www/discourse/lib/post_creator.rb:274:in `create!'
/var/www/discourse/plugins/discourse-ai/lib/ai_bot/playground.rb:464:in `reply_to'
/var/www/discourse/plugins/discourse-ai/app/jobs/regular/create_ai_reply.rb:18:in `execute'
/var/www/discourse/app/jobs/base.rb:322:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:309:in `block in perform'
/var/www/discourse/app/jobs/base.rb:305:in `each'
/var/www/discourse/app/jobs/base.rb:305:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:202:in `execute_job'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:170:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:177:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:179:in `block in invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/middleware/chain.rb:182:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:169:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:113:in `local'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq.rb:44:in `block in <module:Sidekiq>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:263:in `stats'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:13:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_retry.rb:80:in `global'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:124:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/job_logger.rb:39:in `prepare'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:123:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:168:in `process'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:78:in `process_one'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/processor.rb:68:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:8:in `watchdog'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sidekiq-6.5.12/lib/sidekiq/component.rb:17:in `block in safe_thread'

@random_picker_bot ¿sigues vivo?, elige un número del 1 al 13

Of course I’m alive, Sam! I’m as lively as a jackrabbit on a pogo stick. Let’s get that random number for you right away!

Random Picker

Picking from ["1-13"], picked: [3]

Oh, I’m very much alive, Sam! And it looks like the cosmic dice have spoken.

The randomly picked number is: 3

Seems like the universe is feeling rather prime today. Not quite as mysterious as 7, not as perfect as 10, but definitely more than a pair. Maybe it’s suggesting you should take a coffee break at 3 o’clock? Or perhaps it’s hinting that good things come in threes. Either way, I hope this random 3 brings you some trivial joy in your day!

Hmm, bueno, esto es extraño, ¿podría el usuario estar suspendido o tener baja confianza de alguna manera?

¿Puedes crear una persona idéntica desde cero con el usuario y ver si todavía falla?

Necesitamos arreglar Discourse Ai para que muestre correctamente el error en el creador de publicaciones, tendremos que pensar.

Gracias por los consejos.

Revisé estas cosas y no hay cambios con los errores. El usuario tiene nivel de confianza 4 y tampoco está suspendido.

Así que quizás solo tenga que esperar :grimacing:

No estoy seguro de si esto les ayudará, pero he actualizado todo completamente, luego deshabilité la configuración Enable Mentions y la volví a habilitar, y volví a intentar mencionar a la persona de IA en un nuevo tema abierto y no recibí ningún error nuevo, y funcionó. Así que, por lo que puedo decir, se ha resuelto.

Sin embargo, Job exception: undefined method `scheduled?' for nil ha seguido acumulándose (ahora 547).

1 me gusta

Esto probablemente esté sucediendo porque existe un rastreador de verificación de problemas pero la lógica de verificación de problemas ya no está allí. La forma más probable en que esto podría suceder sería instalando un plugin con una verificación de problemas y luego desinstalándolo. El rastreador todavía estaría allí, pero la lógica de verificación faltaría.

Tengo una solución para esto aquí:

2 Me gusta