Zammad: PGConsumeInput ()์˜ ์ž˜๋ชป๋œ ํŒŒ์ผ ์„ค๋ช… ์ž๋กœ ์ธํ•ด ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2017๋…„ 09์›” 11์ผ  ยท  23์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: zammad/zammad

1.6.x์—์„œ 2.1.x๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•œ ์ดํ›„๋กœ ๋ฉ”์ผ์ด ๋” ์ด์ƒ ๊ฐ€์ ธ ์˜ค์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ PostgreSQL ์—ฐ๊ฒฐ์— ์˜ค๋ฅ˜๊ฐ€์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ์ž…๋‹ˆ๋‹ค.

์ •๋ณด :

  • ์ค‘๊ณ  Zammad ๋ฒ„์ „ : 2.1.1-1505128598.ef38800b.jessie
  • ์‚ฌ์šฉ ๋œ Zammad ์„ค์น˜ ์†Œ์Šค : ํŒจํ‚ค์ง€
  • ์šด์˜ ์ฒด์ œ : Debian 8
  • PostgreSQL ๋ฒ„์ „ : 9.4.13-0 + deb8u1

๊ฑด๊ฐ•

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์€ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@martini ์—…๋ฐ์ดํŠธ๊ฐ€ ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ–ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

2.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  23 ๋Œ“๊ธ€

์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ž„์‹œ ๋˜๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์— ๋‚จ์€ ๊ณต๊ฐ„์ด ์—†์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด Zammad์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠธ๋ ˆ์ด์Šค ๋ฐฑ์€
ActiveRecord

ํŒŒ์ผ ์‹œ์Šคํ…œ (๊ณต๊ฐ„ ๋ฐ inode)์„ ํ™•์ธํ•˜๊ณ  PG ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

ํŽธ์ง‘ํ•˜๋‹ค:
Scheduler์™€ 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)

์˜ค๋Š˜ ๋‚˜๋Š” ๊ฐœ๋ฐœ (Zammad 2.1)๊ณผ ํ•จ๊ป˜ mac os 10.12.6์—์„œ ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค (๊ทธ๋Ÿฌ๋‚˜ ๐Ÿคฅ ๋ฉฐ์น  ์ „์— ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค). ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์˜ˆ์ƒํ•˜๊ณ  ๋ชจ๋‘ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค (rails c, rails s, ...).

CPU ์‚ฌ์šฉ๋Ÿ‰์„ 100 %๋กœ 1.5์—์„œ 2.0์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ๋Š”๋ฐ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ผฌ๋ฆฌ : 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: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 '
/opt/zammad/app/models/scheduler.rb:78:in cleanup' /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 $@

์–ด์ œ ๋ฐ๋น„์•ˆ 8์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ฒ„์ „ 9๋„ ์‚ฌ์šฉํ•ด ๋ด…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์˜ค๋ฅ˜๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
๋‚˜๋Š” -t๊ฐ€ ๋‚ด๊ฐ€ ์•„๋‹Œ ํŒจํ‚ค์ง€์—์„œ ์˜จ ๊ฒƒ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

100 % ํ”„๋กœ์„ธ์Šค๋Š” Ruby
script / scheduler.rb start -t
๋งค๋ฒˆ ์‹œ์ž‘ํ•˜๊ณ  ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค

scheduler.rb --help์—์„œ :

  • "-t, --ontop ๋งจ ์œ„์— ์œ ์ง€ (๋ฐ๋ชฌ ํ™”ํ•˜์ง€ ์•Š์Œ)"

์–ด์ฉŒ๋ฉด ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ํ•ญ์ƒ ์ถฉ๋Œํ•ฉ๋‹ˆ๋‹ค.
์ด์œ ๊ฐ€ ์˜จํƒ‘ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

ํ—‰ํ—‰
์•„๋‹ˆ์š”, ๊ทธ๊ฒŒ ๋ฌด์—‡์„ํ•˜๋Š”์ง€ ๋ช…ํ™•ํžˆํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋งˆํ‹ฐ๋‹ˆ ๋Œ€๋‹ต์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ๋ชฌ ํ™”๋Š” systemd์— ์˜ํ•ด ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

@๋งˆํ‹ฐ๋‹ˆ
๋‚ด๊ฐ€ ๊ธฐ์–ตํ•œ๋‹ค๋ฉด systemd๊ฐ€ ๋‹จ์œ„ ํŒŒ์ผ์—์„œ backround๋กœ ๋“ค์–ด๊ฐˆ ๋•Œ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์‹คํŒจํ•˜๊ณ  ์ค‘์ง€๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— "-t"๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ฟก๋ฟก
2.1.1์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐœ๋ฐœ ์ €์žฅ์†Œ์— ์žˆ์Šต๋‹ˆ๋‹ค.
์•ˆ์ •๋œ ํŒจํ‚ค์ง€๋ฅผ ๊ณ ์ • ํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.
์•ˆ์ •์ ์ธ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•ˆ์ •์ ์ธ ํŒจํ‚ค์ง€ ๊ฐ€์ ธ ์˜ค๊ธฐ : https://packager.io/gh/zammad/zammad/builds/2414/install/debian-8

@monotek
Type=forking ์„ค์ •ํ•˜๋ฉด ๋‚ด๊ฐ€ ํ‹€๋ฆฌ์ง€ ์•Š์€ ๊ฒฝ์šฐ -t ์—†์ด ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค (2.0.x) ๋กœ์˜ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ์— ๊ด€ํ•˜์—ฌ :
์ตœ๊ทผ ๋ฐฑ์—…์ด ์—†์œผ๋ฉด ์ผ๋ถ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋˜๋Œ๋ ค ์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ฃ ?

ํžŒํŠธ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ๋ณ€๊ฒฝํ•ด๋ณด์‹ญ์‹œ์˜ค. packager.io์—์„œ ๊ฐ€๋Šฅํ•˜๋ฉด ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ข‹์•„, ๋‚˜๋Š” ์ง€๊ธˆ 2.0 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•œ๋‹ค
ํ•˜์ง€๋งŒ ์ง€๊ธˆ์€ ์ด๋ฉ”์ผ ์ฑ„๋„์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Email :: Notification out ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ Channel :: Driver :: Smtp : # <: econnrefused : i = "6">

๊ณ„์ •์ด ๋น„์–ด์žˆ์–ด ์„ค์ •์„ ํ™•์ธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค :-(

ticket
์ฑ„๋„์ด ํ™œ์„ฑ ์ƒํƒœ์ด์ง€๋งŒ 1 ์‹œ๊ฐ„ ๋™์•ˆ ๊ฐ€์ ธ ์˜ค์ง€ ์•Š์Œ
์ฑ„๋„ : Email :: Notification out ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ Channel :: Driver :: Smtp : # <: econnrefused : i = "7">

์„ค์ •์ด ์–ด๋–ป๊ฒŒ cli์—์„œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ž…๋‹ˆ๊นŒ?

@Hagelsturm ์€ SMTP ์„ค์ •์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์•„๋งˆ๋„ ์ด๋ฉ”์ผ ์ฑ„๋„ ์„ค์ •์˜ SMTP ํ˜ธ์ŠคํŠธ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒˆ๋กœ์šด ๋ฌธ์ œ์ด๋ฏ€๋กœ ์ƒˆ๋กœ์šด ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๊นŒ?

์•ˆ๋…•! ์—ฌ๊ธฐ์—๋„ ๋˜‘๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” # 1473์—์„œ ์—ฌ๊ธฐ์— ๋„์ฐฉํ–ˆ๋‹ค. ๋ฒ„์ „ 2.0์„ ์„ค์น˜ํ–ˆ์ง€๋งŒ ์ด๋ฉ”์ผ ์ฑ„๋„ ๊ตฌ์„ฑ์— ์ƒˆ ์ด๋ฉ”์ผ ๊ณ„์ •์„ ์ถ”๊ฐ€ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. @Hagelsturm์˜ ๋งˆ์ง€๋ง‰ ๋Œ“๊ธ€๊ณผ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ๋ฐฑ์—…์ด ์—†์œผ๋ฉด ์ผ๋ถ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋˜๋Œ๋ ค ์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ฃ ?

@mweinelt ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.์ด ํ”ผ๋“œ๋ฐฑ์„ ๋ณด์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ stable๊ณผ development ์‚ฌ์ด์—๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ง€๊ธˆ ๋‹น์žฅ ์•ˆ์ • / ๋งˆ์Šคํ„ฐ๊ฐ„์— ์ „ํ™˜ํ•˜๊ณ  ๋ฌธ์ œ์—†์ด ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด์จŒ๋“  "PGConsumeInput์˜ ์ž˜๋ชป๋œ ํŒŒ์ผ ์„ค๋ช…์ž"๋ฌธ์ œ๊ฐ€ ์ˆ˜์ • ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋จผ์ € ๊ฐœ๋ฐœ์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด (์•ˆ์ •์ ์œผ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•˜๊ธฐ ์ „์—) ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์˜๊ฒฌ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

-๋‚จ์ž ์ด๋ฆ„

@Hagelsturm JFI ์ด๋ฉ”์ผ ๋ฌธ์ œ๊ฐ€์ด ์Šค์ผ€์ค„๋Ÿฌ ๋ฌธ์ œ๋กœ ํ•  ์ผ์„ ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@martini ์—…๋ฐ์ดํŠธ๊ฐ€ ํŠธ๋ฆญ์„ ์ˆ˜ํ–‰ํ–ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

2.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰