1.6.xから2.1.xにアップグレードしてから、メールがプルされなくなっていることに気付きました。 これは、スケジューラーが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は接続可能で、問題なく動作します。
これは通常、tempまたはデータストアにスペースが残っていない場合に発生します。 これはZammadに関連しているとは思いません。 トレースバックは直接
ActiveRecord
ファイルシステム(スペースとiノード)をチェックして、PGデータベースでチェックを実行することをお勧めします。
編集:
スケジューラとPostgresqlの両方を再起動するとどうなりますか?
注意:
本番環境では開発ブランチを使用しないでください。 2.0は安定しています
ファイルシステムはどこにも完全に近いようには見えません。
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には内部チェックメカニズムがないようです。 両方を再起動しても状況は変わりません。
開発ブランチを使用しないことは理解していますが、LDAPが必要だったため、1.6から始めて、バージョンを固定するのを忘れる必要がありました。
また、PostgreSQLは明らかに稼働しており、アクセス可能です。 これは、 /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)
今日、私はmac os 10.12.6(しかしそれは🤥の数日前に機能していました)とdevelop(Zammad 2.1)で同じものを持っています。 スケジューラーを期待して、すべてが機能しています(rails c、rails s、...)。
同じように1.5から2.0にアップグレードします100%CPU使用率とこのエラー
テール:scheduler_err.log:Datei abgeschnitten
ActiveRecord :: StatementInvalid:PG :: ConnectionBad:PQconsumeInput()はサーバーからデータを受信できませんでした:不正なファイル記述子
: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: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
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:inblock 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: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
each '
/opt/zammad/app/models/scheduler.rb:78:incleanup' /opt/zammad/app/models/scheduler.rb:24:in
スレッド '
script / scheduler.rb:66:in `block in
@HagelsturmどのOS? そして、どのプロセスが100%かかりますか?
私たちの場合はscript/scheduler.rb start -t
です。
私たちの場合は
script/scheduler.rb start -t
それも私の側です。 通常、スケジューラーはデーモンモード( script/scheduler.rb start
またはscript/scheduler.rb stop
)で実行されています。
script/scheduler.rb start -t
は通常、スケジューラーが(デーモンとして)バックグラウンドで実行されていないため、開発者にのみ使用されます。
@mweinelt私への質問は、なぜ-t
を使用しているのかということです。
JFI:スケジューラーはバックグラウンドで(デーモンとして)正常に機能しています。
安定バージョンに固定するのを忘れたため、 2.1.1-1505985142.807a1d88.jessie
実行しています。 -t
オプションはサービスファイルから取得する必要があります。その点については何も変更していません。
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 $@
私は昨日Debian8を使用しています。バージョン9も試してみます
しかし、エラーは同じです
-tが私からではなくパッケージから来たものは何も変更しません
100%のプロセスはRubyです
script / scheduler.rb start -t
毎回起動してクラッシュします
Scheduler.rbから--help:
たぶん、しかしスケジューラは常にクラッシュします
死ぬ理由はオントップパラメータだと思いますか?
@Hagelsturm
いいえ、それが何をするのかを明確にしたかっただけです。 マティーニの答えを見ませんでした。
デーモン化はsystemdによって行われるため、通常は問題ありません。
@マティーニ
私が覚えているなら、systemdはスケジューラーが失敗し、ユニットファイルからバックラウンドに入ったときに停止したと考えるので、正しい「-t」が使用されます。
@mweinelt
2.1.1を使用している場合は、開発リポジトリにいます。
そこに安定したパッケージを固定する方法はありません。
安定したリポジトリを使用して安定したパッケージを取得します: https :
@monotek
Type=forking
を設定すると、私が間違っていなければ、 -t
なしで開始できるはずです。
安定版リリース(2.0.x)へのダウングレードについて:
最近のバックアップがない場合は、一部の移行を元に戻す必要がありますよね?
ヒントをありがとう。 後で変更してみます。 packager.ioで可能かどうかわからない。
さて、今はバージョン2.0を使用しています
しかし今、私は電子メールチャネルに問題があります
Email :: Notification out Channel :: Driver :: Smtpを使用できません:#<:econnrefused:i = "6">
アカウントが空なので設定を確認できません:-(
チャネルはアクティブですが、1時間フェッチされません
Channel:Email :: Notification out Channel :: Driver :: Smtp:#<:econnrefused:i = "7">を使用できません
設定することがどのようにCLIで新しいのですか?
@Hagelsturmはsmtp設定を確認してみてください。おそらく、電子メールチャネル設定のSMTPのホストパラメータがありません。 また、あなたの問題は新しい問題なので、新しい問題を作成する必要がありますか?
こんにちは! ここでもまったく同じ問題です。 #1473からここに着きます。 バージョン2.0をインストールしましたが、@ Hagelsturmからの最後のコメントに関連している可能性があるため、電子メールチャネル構成に新しい電子メールアカウントを追加できませんでした。
最近のバックアップがない場合は、一部の移行を元に戻す必要がありますよね?
@mweinelt申し訳ありませんが、このフィードバックは表示されませんでした。 現時点では、安定版と開発版の間でデータベースの移行はありません。 そのため、現在、安定版とマスターを切り替えて、問題なく開発できます。
とにかく、「PGConsumeInputの不正なファイル記述子」の問題が修正されたようです。 したがって、最初に開発を更新する場合(安定版に戻す前に)は問題ありません!
フィードバックをありがとう!
-マーティン
@Hagelsturm JFIあなたの電子メールの問題は、このスケジューラーの問題とは
@martiniアップデートが
少しで2.0へのダウングレードを試みます。
最も参考になるコメント
@martiniアップデートが
少しで2.0へのダウングレードを試みます。