Desde la actualización de 1.6.xa 2.1.x, notamos que los correos ya no se extraen. Aquí es cuando notamos que el programador se está ejecutando en un error con su conexión PostgreSQL.
channel is active but not fetched for 1 hour
channel is active but not fetched for 1 hour
channel is active but not fetched for 1 hour
channel is active but not fetched for 1 hour
scheduler not running
==> /var/log/zammad/scheduler_err.log <==
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() could not receive data from server: Bad file descriptor
: SELECT "delayed_jobs".* FROM "delayed_jobs"
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `async_exec'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `block in exec_no_cache'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract_adapter.rb:590:in `block in log'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.5/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract_adapter.rb:583:in `log'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `exec_no_cache'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:585:in `execute_and_clear'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql/database_statements.rb:103:in `exec_query'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:377:in `select_prepared'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:39:in `select_all'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract/query_cache.rb:95:in `select_all'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/querying.rb:39:in `find_by_sql'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation.rb:702:in `exec_queries'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation.rb:583:in `load'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation.rb:260:in `records'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation/delegation.rb:38:in `each'
/opt/zammad/app/models/scheduler.rb:78:in `cleanup'
/opt/zammad/app/models/scheduler.rb:24:in `threads'
script/scheduler.rb:66:in `block in <top (required)>'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons/application.rb:266:in `block in start_proc'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons/application.rb:275:in `start_proc'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons/application.rb:296:in `start'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons/controller.rb:56:in `run'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons.rb:197:in `block in run_proc'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons/cmdline.rb:92:in `catch_exceptions'
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/daemons-1.2.4/lib/daemons.rb:196:in `run_proc'
script/scheduler.rb:49:in `<top (required)>'
==> /var/log/zammad/scheduler_out.log <==
bundler: failed to load command: script/scheduler.rb (script/scheduler.rb)
PostgreSQL se puede conectar y funciona correctamente.
Esto suele suceder cuando no queda espacio en la temperatura o en el almacén de datos. No creo que esto esté relacionado con Zammad. El rastreo es directamente de
ActiveRecord
Sugiero verificar el sistema de archivos (espacio e inodos) y realizar una verificación en la base de datos de PG.
Editar:
¿Qué sucede cuando reinicia tanto el Programador como Postgresql?
Nota:
¡No utilice la rama de desarrollo en producción! 2.0 es estable
El sistema de archivos no parece estar ni cerca de estar lleno.
hexa<strong i="6">@tickets</strong>:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 6.2G 13G 34% /
udev 10M 0 10M 0% /dev
tmpfs 502M 45M 457M 9% /run
tmpfs 1.3G 16K 1.3G 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.3G 0 1.3G 0% /sys/fs/cgroup
tmpfs 251M 0 251M 0% /run/user/2000
hexa<strong i="7">@tickets</strong>:~$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 1310720 97329 1213391 8% /
udev 314738 268 314470 1% /dev
tmpfs 320664 313 320351 1% /run
tmpfs 320664 5 320659 1% /dev/shm
tmpfs 320664 3 320661 1% /run/lock
tmpfs 320664 13 320651 1% /sys/fs/cgroup
tmpfs 320664 4 320660 1% /run/user/2000
PostgreSQL no parece tener ninguna mecánica de verificación interna. Reiniciar ambos no cambia la situación.
Entiendo que no use la rama de desarrollo, pero necesitábamos comenzar con 1.6 ya que necesitábamos LDAP y luego nos olvidamos de anclar la versión.
Además, PostgreSQL está claramente activo y accesible. Esto también funciona con las credenciales establecidas en /opt/zammad/config/database.yml
.
root<strong i="7">@tickets</strong>:/home/hexa# sudo -u postgres psql
psql (9.4.13)
Type "help" for help.
postgres=# \connect zammad
You are now connected to database "zammad" as user "postgres".
zammad=# \dt
List of relations
Schema | Name | Type | Owner
--------+------------------------------------+-------+--------
public | activity_streams | table | zammad
public | ar_internal_metadata | table | zammad
public | authorizations | table | zammad
public | avatars | table | zammad
public | calendars | table | zammad
public | channels | table | zammad
public | chat_agents | table | zammad
public | chat_messages | table | zammad
public | chat_sessions | table | zammad
public | chat_topics | table | zammad
public | chats | table | zammad
public | cti_caller_ids | table | zammad
public | cti_logs | table | zammad
public | delayed_jobs | table | zammad
public | email_addresses | table | zammad
public | external_credentials | table | zammad
public | external_syncs | table | zammad
public | groups | table | zammad
public | groups_users | table | zammad
public | histories | table | zammad
public | history_attributes | table | zammad
public | history_objects | table | zammad
public | history_types | table | zammad
public | http_logs | table | zammad
public | import_jobs | table | zammad
public | jobs | table | zammad
public | karma_activities | table | zammad
public | karma_activity_logs | table | zammad
public | karma_users | table | zammad
public | link_objects | table | zammad
public | link_types | table | zammad
public | links | table | zammad
public | locales | table | zammad
public | macros | table | zammad
public | network_categories | table | zammad
public | network_categories_moderator_users | table | zammad
public | network_category_subscriptions | table | zammad
public | network_category_types | table | zammad
public | network_item_comments | table | zammad
public | network_item_plus | table | zammad
public | network_item_subscriptions | table | zammad
public | network_items | table | zammad
public | network_privacies | table | zammad
public | networks | table | zammad
public | notifications | table | zammad
public | oauth_access_grants | table | zammad
public | oauth_access_tokens | table | zammad
public | oauth_applications | table | zammad
public | object_lookups | table | zammad
public | object_manager_attributes | table | zammad
public | online_notifications | table | zammad
public | organizations | table | zammad
public | organizations_users | table | zammad
public | overviews | table | zammad
public | overviews_groups | table | zammad
public | overviews_roles | table | zammad
public | overviews_users | table | zammad
public | package_migrations | table | zammad
public | packages | table | zammad
public | permissions | table | zammad
public | permissions_roles | table | zammad
public | postmaster_filters | table | zammad
public | recent_views | table | zammad
public | report_profiles | table | zammad
public | roles | table | zammad
public | roles_groups | table | zammad
public | roles_users | table | zammad
public | schedulers | table | zammad
public | schema_migrations | table | zammad
public | sessions | table | zammad
public | settings | table | zammad
public | signatures | table | zammad
public | slas | table | zammad
public | stats_stores | table | zammad
public | store_files | table | zammad
public | store_objects | table | zammad
public | store_provider_dbs | table | zammad
public | stores | table | zammad
public | tag_items | table | zammad
public | tag_objects | table | zammad
public | tags | table | zammad
public | taskbars | table | zammad
public | templates | table | zammad
public | templates_groups | table | zammad
public | text_modules | table | zammad
public | text_modules_groups | table | zammad
public | ticket_article_flags | table | zammad
public | ticket_article_senders | table | zammad
public | ticket_article_types | table | zammad
public | ticket_articles | table | zammad
public | ticket_counters | table | zammad
public | ticket_flags | table | zammad
public | ticket_priorities | table | zammad
public | ticket_state_types | table | zammad
public | ticket_states | table | zammad
public | ticket_time_accountings | table | zammad
public | tickets | table | zammad
public | tokens | table | zammad
public | translations | table | zammad
public | triggers | table | zammad
public | type_lookups | table | zammad
public | user_devices | table | zammad
public | users | table | zammad
(103 rows)
Hoy tengo lo mismo en mac os 10.12.6 (pero estaba funcionando los días anteriores with) con desarrollar (Zammad 2.1). Todo está funcionando (rieles c, rieles s, ...) esperando el planificador.
Tengo la misma actualización de 1.5 a 2.0 100% de uso de CPU y este error
tail: schedule_err.log: Datei abgeschnitten
ActiveRecord :: StatementInvalid: PG :: ConnectionBad: PQconsumeInput () no pudo recibir datos del servidor: descriptor de archivo incorrecto
: SELECCIONE "delayed_jobs". * FROM "delayed_jobs"
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:598:inasync_exec' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in
bloque en exec_no_cache '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract_adapter.rb:590:inblock in log' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.5/lib/active_support/notifications/instrumenter.rb:21:in
instrumento '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract_adapter.rb:583:inlog' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in
exec_no_cache '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql_adapter.rb:585:inexecute_and_clear' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/postgresql/database_statements.rb:103:in
exec_query '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:377:inselect_prepared' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract/database_statements.rb:39:in
select_all '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/connection_adapters/abstract/query_cache.rb:95:inselect_all' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/querying.rb:39:in
find_by_sql '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation.rb:702:inexec_queries' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation.rb:583:in
load '
/opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation.rb:260:inrecords' /opt/zammad/vendor/bundle/ruby/2.4.0/gems/activerecord-5.0.5/lib/active_record/relation/delegation.rb:38:in
cada '
/opt/zammad/app/models/scheduler.rb:78:incleanup' /opt/zammad/app/models/scheduler.rb:24:in
hilos '
script / planificador.rb: 66: en `bloque en
@Hagelsturm que sistema
En nuestro caso es script/scheduler.rb start -t
.
En nuestro caso es
script/scheduler.rb start -t
Eso también está de mi lado. Normalmente, el planificador se ejecuta en modo demonio ( script/scheduler.rb start
o script/scheduler.rb stop
).
script/scheduler.rb start -t
generalmente solo se usa para desarrolladores porque el programador no se ejecuta en segundo plano (como demonio).
@mweinelt Una pregunta para mí es, ¿por qué estás usando -t
?
JFI: El programador funciona bien para mí en segundo plano (como demonio).
Estoy ejecutando 2.1.1-1505985142.807a1d88.jessie
porque olvidé anclar a una versión estable. La opción -t
debe provenir de los archivos del servicio, no he cambiado nada al respecto.
root<strong i="8">@tickets</strong>:/opt/zammad# grep -ri "scheduler.rb start" *
contrib/systemd/zammad-scheduler.service:ExecStart=/bin/bash -l -c "${BUNDLE_BINARY} exec script/scheduler.rb start -t"
Procfile:worker: bundle exec script/scheduler.rb start -t
Procfile.frontend:worker: bundle exec ruby script/scheduler.rb start -t
script/init-script-normal-user-rvm-fedora: script/scheduler.rb start &> /dev/null && echo_success || echo_failure
script/init.d/zammad: execute "RAILS_ENV=production script/scheduler.rb start $SCHEDULER_OPTS"
script/build/test_startup.sh:bundle exec script/scheduler.rb start
script/local_browser_tests.sh:script/scheduler.rb start
vendor/pkgr/processes/worker:exec bundle exec script/scheduler.rb start -t $@
Usé Debian 8 ayer y también probé la versión 9
Pero el error es el mismo
No modifico nada, viene del paquete, no de mí.
El proceso con 100% es Ruby
script / planificador.rb inicio -t
Cada vez está comenzando y chocando
desde Scheduler.rb --help:
Tal vez, pero el Programador se bloquea todo el tiempo
Muere ¿Crees que la razón es el parámetro ontop?
@Hagelsturm
No, solo quería aclarar lo que hace. No vi responder a los martinis.
La demonización la realiza systemd, por lo que normalmente no es un problema.
@martini
Si recuerdo bien, se usa "-t" porque systemd piensa que el programador ha fallado y se detuvo cuando entra en segundo plano desde el archivo de la unidad.
@mweinelt
Si está utilizando 2.1.1, está en el repositorio de desarrollo.
No hay forma de fijar un paquete estable allí.
Use un repositorio estable para obtener paquetes estables: https://packager.io/gh/zammad/zammad/builds/2414/install/debian-8
@monotek
La configuración de Type=forking
debería permitir comenzar sin -t
si no me equivoco.
Con respecto a la degradación a una versión estable (2.0.x):
Tendría que revertir algunas migraciones si no tengo una copia de seguridad reciente, ¿verdad?
Gracias por la pista. Intentaré cambiarlo más tarde. No estoy seguro si es posible en packager.io.
Está bien, ahora uso la versión 2.0
pero ahora tengo un problema con el canal de correo electrónico
Correo electrónico :: Notificación de salida No se puede usar el canal :: Controlador :: Smtp: # <: econnrefused: i = "6">
No puedo verificar la configuración porque la cuenta está vacía :-(
el canal está activo pero no se recupera durante 1 hora
Canal: Correo electrónico :: Salida de notificación No se puede usar el canal :: Controlador :: Smtp: # <: econnrefused: i = "7">
¿cómo es posible configurar es nuevo en el cli?
@Hagelsturm intente verificar su configuración de smtp, probablemente el parámetro de host para SMTP en la configuración de su canal de correo electrónico no esté allí. Además, dado que su problema es un problema nuevo, ¿debería crear un problema nuevo?
¡Hola! El mismo problema aquí. Llego aquí desde el # 1473. Instalé la versión 2.0 pero no pude agregar una nueva cuenta de correo electrónico en la configuración del canal de correo electrónico, tal vez relacionado con el último comentario de @Hagelsturm.
Tendría que revertir algunas migraciones si no tengo una copia de seguridad reciente, ¿verdad?
@mweinelt lo siento, no vi este comentario. Por el momento no hay migraciones de bases de datos entre estable y en desarrollo. Así que ahora mismo puedes cambiar entre estable / maestro y desarrollar sin problemas.
De todos modos, parece que se solucionó el problema "Descriptor de archivo incorrecto en PGConsumeInput". Entonces, si actualiza desarrollar primero (antes de volver a estable) ¡estaría bien!
¡Gracias por la retroalimentación!
-Martín
@Hagelsturm JFI su problema de correo electrónico tiene que ver con este problema del programador. Otro tema sería bueno para eso.
@martini Puedo confirmar que la actualización funcionó. ¡Muchas gracias!
Intentaré una rebaja a 2.0 en un momento.
Comentario más útil
@martini Puedo confirmar que la actualización funcionó. ¡Muchas gracias!
Intentaré una rebaja a 2.0 en un momento.