# O plugin de automação do Discourse apresenta falha com erro interno do servidor

**URL:** https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207
**Category:** Bug
**Tags:** automation
**Created:** [10 Abril , 2025 08:06 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207 "2025-04-10T08:06:36Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [10 Abril , 2025 08:06 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/1 "2025-04-10T08:06:36Z")

</div>

Antes da última atualização, havia uma automação usando o Plugin de Automação que faz o seguinte (que foi testado e funcionou com sucesso sem nenhuma alteração):

- Script: Enviar pms
- Quando: “Usuário adicionado ao grupo”
- Grupo rastreado: “um grupo que requer que o proprietário do grupo ‘aprove os pedidos’ primeiro”
- Opções de Script: um PM (testado e funcionou com sucesso).

Atualmente, na versão: `3.5.0.beta3-dev(231e9ca99a)`, agora aparece “erro interno do servidor” ao tentar aprovar os usuários.

O seguinte é o erro que aparece:

```plaintext
PG::NotNullViolation (ERROR: null value in column "total_time" of relation "discourse_automation_stats" violates not-null constraint
DETAIL: Failing row contains (18, 8, 2025-04-10, 2025-04-10 07:34:42.740189, null, null, null, null, 1).
)
lib/mini_sql_multisite_connection.rb:109:in `run'
lib/plugin/instance.rb:609:in `block in on'
lib/discourse_event.rb:12:in `block in trigger'
lib/discourse_event.rb:12:in `trigger'
app/models/group.rb:869:in `trigger_user_added_event'
app/models/group.rb:838:in `add'
app/controllers/groups_controller.rb:502:in `block in handle_membership_request'
app/controllers/groups_controller.rb:500:in `handle_membership_request'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:410:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'

```

Suspeito que isso tenha a ver com as novas alterações na tabela discourse\_automation\_stats mencionadas aqui:

> [@sam](#):
>
> @sam  
> [FEATURE: Add automation statistics tracking to Automation by SamSaffron · Pull Request #31921 · discourse/discourse · GitHub](https://github.com/discourse/discourse/pull/31921)

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/4/6/946c20bb730b05df374d9373edd3970b8d4178de.png)

Obrigado!

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [10 Abril , 2025 08:51 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/4 "2025-04-10T08:51:01Z")

</div>

Obrigado pelo relatório. Acho que você tem outro erro, mas o código de status que adicionamos está ocultando-o.

Isso deve corrigir:

> <https://github.com/discourse/discourse/pull/32254>
>
> The previous code could attempt to log a \`nil\` \`run\_time\` if the block would rai…se an exception. This commit adds two safeguards:
> 
> \- rescue any exception to still compute \`run\_time\`
> \- defaults to \`0\` if we still don't have any \`run\_time\`

E então poderemos ver o erro real.

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [10 Abril , 2025 13:11 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/5 "2025-04-10T13:11:25Z")

</div>

Obrigado!

> [@j.jaffeux](#):
>
> E então deveríamos ser capazes de ver o erro real.

Isso significa que, após a atualização, preciso obter o erro real?

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [10 Abril , 2025 13:49 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/6 "2025-04-10T13:49:44Z")

</div>

Sim, por favor, embora eu suspeite que de aqui, você talvez consiga consertá-lo sozinho.

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [24 Abril , 2025 12:05 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/7 "2025-04-24T12:05:43Z")

</div>

Obrigado pela sua paciência!

Estou tendo outro problema genérico `{"status":422,"error":"Unprocessable Entity"}`. Por favor, veja a captura de tela depois que eu clico em ‘aprovar’:

 ![](https://global.discourse-cdn.com/meta/original/4X/d/e/d/dedb0cd212ebfab5252e7b6ce8ee8da1f74529b5.jpeg)

A carga útil é dados do formulário (application/x-www-form-urlencoded; charset=UTF-8):  
`user_id=10127&accept=true`

> [@j.jaffeux](#):
>
> Suspeito que a partir daqui, você possa consertá-lo sozinho.

Obrigado! Embora eu não tenha certeza por que está dizendo ‘entidade não processável’, alguma dica?

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [24 Abril , 2025 18:39 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/8 "2025-04-24T18:39:16Z")

</div>

Desculpe, mas isso não parece automação.

Você pode clicar em resposta na primeira captura de tela, por favor?

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [25 Abril , 2025 04:50 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/9 "2025-04-25T04:50:28Z")

</div>

Olá  
Obrigado! É a mesma resposta…

> [@gassim](#):
>
> {“status”:422,“error”:“Unprocessable Entity”}

| ![690x80](https://global.discourse-cdn.com/meta/original/4X/9/f/1/9f1d8e99253bec9c09ed9376f5359af435192cd7.png) |
| --- |

Fiz mais investigações e percebi que…

#### Duas coisas já mudaram:

1. O usuário está sendo adicionado ao grupo com sucesso
2. A mensagem automatizada está sendo enviada
3. Este erro “Unprocessable entity” não aparece quando a conta de administrador é usada para aceitar a solicitação de grupo, mas está aparecendo para um usuário proprietário de grupo não administrador (mesmo com 1 e 2 acontecendo com sucesso agora para administrador/não administrador).

**Parece que agora estamos falando de um novo problema (dado que os acima já estão funcionando, mas apenas o resultado não é claro quando está bloqueado com este novo problema)…**

#### até os logs de erro do servidor mudaram:

> **info log**
>
> ```plaintext
> ActiveRecord::RecordNotSaved (Algo deu errado. Talvez este tópico tenha sido fechado ou excluído enquanto você o estava vendo?)
> lib/post_creator.rb:238:in `create!'
> app/controllers/groups_controller.rb:523:in `handle_membership_request'
> app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
> app/controllers/application_controller.rb:427:in `with_resolved_locale'
> lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
> lib/content_security_policy/middleware.rb:12:in `call'
> lib/middleware/anonymous_cache.rb:410:in `call'
> lib/middleware/csp_script_nonce_injector.rb:12:in `call'
> config/initializers/008-rack-cors.rb:26:in `call'
> lib/middleware/default_headers.rb:13:in `call'
> config/initializers/100-quiet_logger.rb:20:in `call'
> config/initializers/100-silence_logger.rb:29:in `call'
> lib/middleware/enforce_hostname.rb:24:in `call'
> lib/middleware/processing_request.rb:12:in `call'
> lib/middleware/request_tracker.rb:385:in `call'
> 
> ```

> **backtrace log**
>
> ```plaintext
> lib/post_creator.rb:238:in `create!'
> app/controllers/groups_controller.rb:523:in `handle_membership_request'
> actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
> actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
> actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
> actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
> activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
> app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
> i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
> app/controllers/application_controller.rb:427:in `with_resolved_locale'
> activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
> activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
> actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
> actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
> actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
> activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
> activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
> activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
> actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
> actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
> activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
> actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
> actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
> rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
> actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
> actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
> actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
> actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
> actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
> actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
> actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
> actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
> actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
> actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
> lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
> rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call'
> rack (2.2.13) lib/rack/conditional_get.rb:40:in `call'
> rack (2.2.13) lib/rack/head.rb:12:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
> lib/content_security_policy/middleware.rb:12:in `call'
> lib/middleware/anonymous_cache.rb:410:in `call'
> lib/middleware/csp_script_nonce_injector.rb:12:in `call'
> config/initializers/008-rack-cors.rb:26:in `call'
> rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context'
> rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
> activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
> logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
> lib/middleware/default_headers.rb:13:in `call'
> railties (7.2.2.1) lib/rails/rack/logger.rb:41:in `call_app'
> railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
> config/initializers/100-quiet_logger.rb:20:in `call'
> config/initializers/100-silence_logger.rb:29:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
> lib/middleware/enforce_hostname.rb:24:in `call'
> rack (2.2.13) lib/rack/method_override.rb:24:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/executor.rb:16:in `call'
> rack (2.2.13) lib/rack/sendfile.rb:110:in `call'
> rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
> lib/middleware/processing_request.rb:12:in `call'
> message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
> lib/middleware/request_tracker.rb:385:in `call'
> actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
> railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
> railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
> railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
> rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call'
> rack (2.2.13) lib/rack/urlmap.rb:58:in `each'
> rack (2.2.13) lib/rack/urlmap.rb:58:in `call'
> unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
> unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
> unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
> unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
> unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
> vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
> vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'
> 
> ```

> **env log**
>
> | hostname | community-app |
> | --- | --- |
> | process\_id | 913 |
> | application\_version | 6fc5ce968892b980c3db6b19b49683fb38a59e29 |
> | HTTP\_HOST | [meta.discourse.org](http://meta.discourse.org) |
> | REQUEST\_URI | /groups/200/handle\_membership\_request.json |
> | REQUEST\_METHOD | PUT |
> | HTTP\_USER\_AGENT | Mozilla/5.0 |
> | HTTP\_ACCEPT | _/_ |
> | HTTP\_REFERER | [https://meta.discourse.org/g/group\_name/requests](https://meta.discourse.org/g/group_name/requests) |
> | HTTP\_X\_FORWARDED\_FOR | 0.0.0.0 |
> | HTTP\_X\_REAL\_IP | 0.0.0.0 |
> | username | copuxtest |
> | time | 7:37 am |
> | params | |
> | user\_id | 5836 |
> | accept | true |

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [28 Abril , 2025 17:47 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/10 "2025-04-28T17:47:24Z")

</div>

Desculpe, mas estou muito confuso sobre como isso se relaciona com o op. Você não recebe esse erro por meio de automação, certo? Esta é uma ação direta que você está realizando no admin, pelo que posso dizer.

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [29 Abril , 2025 07:52 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/11 "2025-04-29T07:52:08Z")

</div>

Olá novamente!  
Obrigado por dedicar seu tempo a isso, então acho que agora está resolvido. Inicialmente, o erro só apareceu depois que ativamos a automação (primeiro erro postado na primeira postagem) e, em seguida, após sua correção, o erro desapareceu, mas os logs mostraram um erro diferente, como explicado acima.

Os erros desapareceram depois que fiz o seguinte:

1. Desliguei a automação
2. Limpei o cache do navegador
3. Liguei a automação novamente

Depois de ligar/desligar a automação e limpar o cache, todos os erros desapareceram. Obrigado!

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [29 Abril , 2025 08:03 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/12 "2025-04-29T08:03:34Z")

</div>

Ok, muito surpreendente, mas se funciona para você, tudo bem! Obrigado pela atualização.

---

<div class="post-metadata">

### Author: ![gassim](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gassim/32/220910_2.png) [@gassim](https://meta.discourse.org/u/gassim)
#### Post date: [29 Abril , 2025 23:52 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/13 "2025-04-29T23:52:51Z")

</div>

Obrigado! :sorrindo:

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [2 Maio , 2025 23:52 UTC](https://meta.discourse.org/t/discourse-automation-plugin-failing-with-an-internal-server-error/361207/14 "2025-05-02T23:52:58Z")

</div>

Este tópico foi fechado automaticamente 3 dias após a última resposta. Novas respostas não são mais permitidas.
