加速Ruby类以避免请求JIRA和Slack API

时间:2020-02-04 09:21:51

标签: ruby aws-lambda amazon-dynamodb jira-rest-api

我的纯Ruby类从Jira API中提取用户名,将其转换为电子邮件地址,然后将这些电子邮件地址传递给另一个提取Slack ID的类。

module Request
  class GetUser
    def call
      setup_email
    end

    private

    def setup_email
      devops_email = dev_role['actors'].map { |user| "#{user['name']}@example.com" }
      devops_email.each do |email|
        ::Slack::GetUserId.new(email: email).call
      end
    end

    def dev_role
      HTTParty.get('https://company_name.atlassian.net/rest/api/3/project/1234/role/1234',
                   basic_auth: { username: 'user', password: 'pass' },
                   headers: { 'content-type' => 'application/json' })
    end
  end
end

由于以上课程每天都会被调用(AWS Lambda日程安排),因此我想加快课程速度。我应该用什么来实现这一目标?我是否应该使用某个数据库(可能是Dynamodb?)保存用户数据(用户ID和用户电子邮件)并进行查询以检查数据(例如用户名)是否已更改?

或者我应该更改某些实现并保留这些请求而不将数据保存到数据库中吗?

0 个答案:

没有答案