Mensagens globais em 94632 expiraram, reiniciando processo, 95535 encerrado com sucesso pelo sinal `TERM`

Estou usando um MacBook Pro com Apple M1. Tenho tentado instalar o Discourse desde a manhã e cheguei ao comando bundle exec rails server neste tutorial Install Discourse on macOS for development. Também tenho seguido este outro tutorial: Tips and tricks for developing Rails applications on Apple Silicon - rubyonrails-talk - Ruby on Rails Discussions. Sempre que executo bundle exec rails server (já fiz isso três vezes), o processo chega a um determinado ponto e então exibe a mensagem: “Global messages on 94632 timed out, restarting process, 95535 successfully terminated by ‘TERM’ signal”.

Abaixo está o final dos logs durante a execução de bundle exec rails server:

  MiniScheduler::Stat Create (5.6ms)  INSERT INTO "scheduler_stats" ("name", "hostname", "pid", "live_slots_start", "started_at") VALUES ('Jobs::Heartbeat', 'Aashishs-MacBook-Pro.local', 94682, 1103494, '2021-07-30 11:03:52.271803') RETURNING "id"
  TRANSACTION (1.0ms)  COMMIT
  TRANSACTION (0.2ms)  BEGIN
  MiniScheduler::Stat Update (0.4ms)  UPDATE "scheduler_stats" SET "duration_ms" = 16, "live_slots_finish" = 1104793, "success" = TRUE WHERE "scheduler_stats"."id" = 1042
  TRANSACTION (1.6ms)  COMMIT
  TRANSACTION (0.4ms)  BEGIN
  MiniScheduler::Stat Create (6.0ms)  INSERT INTO "scheduler_stats" ("name", "hostname", "pid", "live_slots_start", "started_at") VALUES ('Jobs::AboutStats', 'Aashishs-MacBook-Pro.local', 94682, 1109900, '2021-07-30 11:03:53.288729') RETURNING "id"
  TRANSACTION (7.1ms)  COMMIT
   (0.6ms)  SELECT COUNT(*) FROM "topics" WHERE "topics"."deleted_at" IS NULL AND (topics.archetype <> 'private_message')
   (0.3ms)  SELECT COUNT(*) FROM "topics" WHERE "topics"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND (created_at > '2021-07-29 11:03:53.314016')
   (1.4ms)  SELECT COUNT(*) FROM "topics" WHERE "topics"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND (created_at > '2021-07-23 11:03:53.319858')
   (0.2ms)  SELECT COUNT(*) FROM "topics" WHERE "topics"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND (created_at > '2021-06-30 11:03:53.322501')
   (3.9ms)  SELECT COUNT(*) FROM "posts" WHERE "posts"."deleted_at" IS NULL
   (0.5ms)  SELECT COUNT(*) FROM "posts" WHERE "posts"."deleted_at" IS NULL AND (created_at > '2021-07-29 11:03:53.329111')
   (3.2ms)  SELECT COUNT(*) FROM "posts" WHERE "posts"."deleted_at" IS NULL AND (created_at > '2021-07-23 11:03:53.331193')
   (4.9ms)  SELECT COUNT(*) FROM "posts" WHERE "posts"."deleted_at" IS NULL AND (created_at > '2021-06-30 11:03:53.335365')
   (0.5ms)  SELECT COUNT(*) FROM "users" WHERE (users.id > 0) AND (NOT EXISTS(
                     SELECT 1
                     FROM anonymous_users a
                     WHERE a.user_id = users.id
                  ))
   (3.9ms)  SELECT COUNT(*) FROM "users" WHERE (users.id > 0) AND (NOT EXISTS(
                     SELECT 1
                     FROM anonymous_users a
                     WHERE a.user_id = users.id
                  )) AND (created_at > '2021-07-29 11:03:53.343462')
   (0.2ms)  SELECT COUNT(*) FROM "users" WHERE (users.id > 0) AND (NOT EXISTS(
                     SELECT 1
                     FROM anonymous_users a
                     WHERE a.user_id = users.id
                  )) AND (created_at > '2021-07-23 11:03:53.348895')
   (3.3ms)  SELECT COUNT(*) FROM "users" WHERE (users.id > 0) AND (NOT EXISTS(
                     SELECT 1
                     FROM anonymous_users a
                     WHERE a.user_id = users.id
                  )) AND (created_at > '2021-06-30 11:03:53.350098')
   (0.5ms)  SELECT COUNT(*) FROM "users" WHERE (last_seen_at > '2021-07-29 11:03:53.354731')
   (0.3ms)  SELECT COUNT(*) FROM "users" WHERE (last_seen_at > '2021-07-23 11:03:53.356296')
   (0.4ms)  SELECT COUNT(*) FROM "users" WHERE (last_seen_at > '2021-06-30 11:03:53.356908')
   (0.3ms)  SELECT COUNT(*) FROM "user_actions" WHERE "user_actions"."action_type" = 1
   (3.1ms)  SELECT COUNT(*) FROM "user_actions" WHERE "user_actions"."action_type" = 1 AND (created_at > '2021-07-29 11:03:53.358336')
   (0.4ms)  SELECT COUNT(*) FROM "user_actions" WHERE "user_actions"."action_type" = 1 AND (created_at > '2021-07-23 11:03:53.363013')
   (0.3ms)  SELECT COUNT(*) FROM "user_actions" WHERE "user_actions"."action_type" = 1 AND (created_at > '2021-06-30 11:03:53.364086')
  TRANSACTION (0.4ms)  BEGIN
  MiniScheduler::Stat Update (0.3ms)  UPDATE "scheduler_stats" SET "duration_ms" = 78, "live_slots_finish" = 1121121, "success" = TRUE WHERE "scheduler_stats"."id" = 1043
  TRANSACTION (0.2ms)  COMMIT
  TRANSACTION (0.2ms)  BEGIN
  MiniScheduler::Stat Create (5.7ms)  INSERT INTO "scheduler_stats" ("name", "hostname", "pid", "live_slots_start", "started_at") VALUES ('Jobs::EnqueueDigestEmails', 'Aashishs-MacBook-Pro.local', 94682, 1124261, '2021-07-30 11:03:54.310194') RETURNING "id"
  TRANSACTION (1.1ms)  COMMIT
   (8.2ms)  SELECT "users"."id" FROM "users" INNER JOIN "user_options" ON "user_options"."user_id" = "users"."id" INNER JOIN "user_stats" ON "user_stats"."user_id" = "users"."id" INNER JOIN "user_emails" ON "user_emails"."user_id" = "users"."id" WHERE (users.id > 0) AND (NOT EXISTS(
                     SELECT 1
                     FROM anonymous_users a
                     WHERE a.user_id = users.id
                  )) AND "users"."active" = TRUE AND (suspended_till IS NULL OR suspended_till <= '2021-07-30 11:03:54.325622') AND "users"."staged" = FALSE AND (user_options.email_digests) AND (user_stats.bounce_score < 4) AND (user_emails.primary) AND (COALESCE(last_emailed_at, '2010-01-01') <= CURRENT_TIMESTAMP - ('1 MINUTE'::INTERVAL * user_options.digest_after_minutes)) AND (COALESCE(user_stats.digest_attempted_at, '2010-01-01') <= CURRENT_TIMESTAMP - ('1 MINUTE'::INTERVAL * user_options.digest_after_minutes)) AND (COALESCE(last_seen_at, '2010-01-01') <= CURRENT_TIMESTAMP - ('1 MINUTE'::INTERVAL * user_options.digest_after_minutes)) AND (COALESCE(last_seen_at, '2010-01-01') >= CURRENT_TIMESTAMP - ('1 DAY'::INTERVAL * 365)) ORDER BY user_stats.digest_attempted_at ASC NULLS FIRST LIMIT 10000
  TRANSACTION (0.1ms)  BEGIN
  MiniScheduler::Stat Update (0.6ms)  UPDATE "scheduler_stats" SET "duration_ms" = 28, "live_slots_finish" = 1124171, "success" = TRUE WHERE "scheduler_stats"."id" = 1044
  TRANSACTION (3.9ms)  COMMIT
  TRANSACTION (0.2ms)  BEGIN
  MiniScheduler::Stat Create (8.4ms)  INSERT INTO "scheduler_stats" ("name", "hostname", "pid", "live_slots_start", "started_at") VALUES ('Jobs::DashboardStats', 'Aashishs-MacBook-Pro.local', 94682, 1123939, '2021-07-30 11:03:55.326015') RETURNING "id"
  TRANSACTION (0.4ms)  COMMIT
  TRANSACTION (0.5ms)  BEGIN
  MiniScheduler::Stat Update (0.6ms)  UPDATE "scheduler_stats" SET "duration_ms" = 24, "live_slots_finish" = 1124040, "success" = TRUE WHERE "scheduler_stats"."id" = 1045
  TRANSACTION (0.8ms)  COMMIT
Global messages on 94632 timed out, restarting process
(base) aashishgangwani@Aashishs-MacBook-Pro discourse % 95535 successfully terminated by `TERM` signal.

Como você pode ver no final, a mensagem diz: “Global messages on 94632 timed out, restarting process, 95535 successfully terminated by ‘TERM’ signal”.

O que significa esse erro e como resolvê-lo?

Tentei carregar o message_bus usando yarn add message_bus, mas isso não resolveu meu problema.

Também postei no Stack Overflow, mas ainda não obtive nenhuma resposta: https://stackoverflow.com/questions/68590381/global-messages-on-94632-timed-out-restarting-process-95535-successfully-termi

Não posso ajudar muito, mas acho que encontrei o código, no message bus do Discourse, na função new_subscriber_thread:

        if (Time.now - (@last_message || Time.now)) > keepalive_interval * 3
          logger.warn "Global messages on #{Process.pid} timed out, restarting process"
          # Não há outra maneira limpa de remover esta thread, ela está escutando em um socket
          #   sem dados chegando
          #
          # Em produção, vemos esse tipo de situação... às vezes... quando há
          # uma falha no VRRP ou uma condição de rede estranha

Obrigado @Ed_S. Esperamos encontrar uma solução para isso em breve.

[Edição: ops, vejo que você já está seguindo conselhos específicos para executar no macOS em M1]

Obrigado @Ed_S. Segui seu trecho de código e alterei keepalive_interval * 3 para keepalive_interval * 1000, além de aumentar o tempo para mantê-lo ativo, o que resolveu o problema.