gitlab不发送邮件(队列仍在增长)

时间:2014-01-07 11:41:05

标签: git email gitlab

我设置了第二个GitLab服务器。我喜欢这个工具:)

但实际上我遇到了一个问题,我在第一次设置时也遇到了问题,但能够修复它。今天我不是。我现在正在寻找几个小时。

GitLab正在运行。非常好。 我可以创建一个新用户。非常好。 但邮件不会发送。实际上并不是那么好。

在“GITLABURL / admin / background_jobs”中,sidekiq为“inactiv”,默认队列的大小为“2”。 两个就像:

Sidekiq::Extensions::DelayedMailer   ["---\n- !ruby/class 'Notify'\n- :new_user_email\n- - 9\n - XYZ\n"]

我实际上是手动调用sendmail来发送邮件。那成功了。

application.log,sidekiq.log,production.log,mail.log,mail.info,mail.warn,mail.err和exims mainlog没有信息。 我在哪里可以搜索找到问题?

我读到了关于运行

的内容
sudo -u git bundle exec rake environment resque:work QUEUE=* RAILS_ENV=production BACKGROUND=yes

手动,但不起作用

rake aborted!
Don't know how to build task 'resque:default'

如果有人有任何想法,请写信给我。

谢谢:)

2 个答案:

答案 0 :(得分:1)

GitLab从Resque更改为Sidekiq,用于处理4.1中的后台作业。您可以像这样手动运行Sidekiq:

bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,common,default,gitlab_shell

如果您使用init scripts,则应使用GitLab Web应用程序自动启动Sidekiq,installation process应作为{{3}}的一部分安装。如果您这样做,请检查sudo /etc/init.d/gitlab start的输出,看看它无法正常启动的原因。

答案 1 :(得分:1)

这是因为Sidekiq 2.17.8不会处理用逗号分隔的请求...

您可以手动运行sidekiq,将,替换为-q

bundle exec sidekiq -q post_receive -q mailer  -q system_hook -q project_web_hook -q common -q default -q gitlab_shell

或更改您的守护程序。

https://github.com/gitlabhq/gitlab-recipes/tree/master/init/systemd

我刚刚更改了文件中的一行

/etc/systemd/system/multi-user.target.wants/gitlab-sidekiq.service

从:

ExecStart=/usr/bin/bundle exec "sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,commo    n,default -e production -L /var/log/gitlab/sidekiq.log >> /var/log/gitlab/sidekiq.log 2>&1"

为:

ExecStart=/usr/bin/bundle exec "sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_    shell -q common -q default -e production -L /var/log/gitlab/sidekiq.log >> /var/log/gitlab/sidekiq.log 2>&1"

它有效