Skip to content
This repository has been archived by the owner on Aug 17, 2023. It is now read-only.

redmine_notification の systemd timer を削除する #239

Open
posbin opened this issue Jan 19, 2023 · 3 comments
Open

redmine_notification の systemd timer を削除する #239

posbin opened this issue Jan 19, 2023 · 3 comments
Assignees

Comments

@posbin
Copy link
Contributor

posbin commented Jan 19, 2023

目的

  • Redmineの通知スクリプトは、Serverless Framework の schedule 機能を使って、beproudbot-sls 側に移植される予定
  • 上記PRがリリースされると、beproudbot 側の通知スクリプトは不要になるので止めたい
  • 現行の通知スクリプトは haro サーバー上で systemd timer により実行されている
    • 構成管理などはされておらず、手動で設定された経緯のようなので、削除も手動で行えば良さそう
@posbin posbin self-assigned this Mar 16, 2023
@posbin
Copy link
Contributor Author

posbin commented Mar 16, 2023

beproudbot-sls 側で移植した通知スクリプトをデプロイした後、beproudbot 側の旧haroサーバーでサービス停止・自動起動の無効化を行った
次の月曜朝に新haroのほうでちゃんと通知してくれるかを確認する予定

このIssueは作業完了として閉じる

beproud@haro:~$ sudo systemctl stop redmine-notification.timer
beproud@haro:~$ sudo systemctl status redmine-notification.timer
● redmine-notification.timer - Redmine Notification
   Loaded: loaded (/etc/systemd/system/redmine-notification.timer; enabled; vendor preset: enabled)
   Active: inactive (dead) since Thu 2023-03-16 15:21:11 JST; 3s ago
  Trigger: n/a

 3月 15 12:00:22 haro systemd[1]: Started Redmine Notification.
 3月 16 15:21:11 haro systemd[1]: Stopped Redmine Notification.
beproud@haro:~$
beproud@haro:~$ sudo systemctl disable redmine-notification.timer
Removed /etc/systemd/system/timers.target.wants/redmine-notification.timer.
beproud@haro:~$ sudo systemctl is-enabled redmine-notification.timer
disabled
beproud@haro:~$

@posbin posbin closed this as completed Mar 16, 2023
@posbin
Copy link
Contributor Author

posbin commented Mar 23, 2023

  • 新haroで実行されたRedmine通知スクリプトのログを見たところ、channel_not_found, not_in_channel のエラーが発生してた
  • 少なくとも通知先のチャンネルに新 haro を入れてないと、postMessage で通知できないようなので、旧haroのRedmine通知スクリプトは再度有効にしておいた
  • 改めて停止して良いタイミングがきたときに停止したいので、この Issue は reopen しておく

https://beproud.slack.com/archives/C0106MV2C4F/p1679539642030169

@posbin posbin reopened this Mar 23, 2023
@posbin
Copy link
Contributor Author

posbin commented Jun 15, 2023

状況を整理したところ、もし旧haroと新haroで並行して通知スクリプトを稼働するなら、以下のように旧haro側にも二重通知防止のための対応が必要なことがわかった

  • 新haro
    • 移行期間から通知スクリプトのバッチは動かしておきたい
    • 旧haroの時代に Redmine 連携をONにしていたが、新haroをまだ追加していないチャンネルが存在するため、通知前に新haroが追加されているかどうかのチェックが必要
      • 新haro側に移植したRedmine通知スクリプトは、新haroが追加されていないチャンネル宛に通知しようとしてもエラーになるため
  • 旧haro
    • Redmine通知スクリプトのバッチは動かしたままで、haroサーバーが廃止されるときに一緒に止める
      • 旧haroしか追加されていないチャンネルにもしばらく通知は届けたいため
    • 二重通知にならないように、新haroが追加されていないときのみ通知するような考慮を入れる

ただし旧haroについては、現在新haroで進めているDBコネクションの問題が解消すれば、完全に廃止する目処が立っている。
そのため、対応工数を少なくするために以下の方針で進めることになった。

  • 新haroに完全移行するまでは、旧haro側の通知スクリプトをこのまま動かしておく
  • 新haro側の通知スクリプトは、二重送信防止のために一時的にコメントアウトしておく
    • 旧haroが廃止された際に、コメントアウトは外す
  • 新haro側で分かっている既知のエラーについては、今のうちに修正しておく

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant