Sha256: 90df08ed50b28ba24cd4108e11f10920cd81282bbf71d282b14fba00f58e153e

Contents?: true

Size: 1013 Bytes

Versions: 11

Compression:

Stored size: 1013 Bytes

Contents

module Souls
  class CloudRun < Thor
    desc "awake", "Set Ping Every 15min by Google Cloud Scheduler"
    method_option :url, default: "https://souls.souls.nl", aliases: "--url", desc: "Set URL"
    def awake
      app_name = Souls.configuration.app
      system(
        "gcloud scheduler jobs create http #{app_name}-awake
            --schedule '0,10,20,30,40,50 * * * *' --uri #{url} --http-method GET"
      )
    rescue Thor::Error => e
      raise(Thor::Error, e)
    end

    desc "list", "Show Google Cloud Run List"
    def list(project_id: "")
      project_id = Souls.configuration.project_id if project_id.blank?
      system("gcloud run services list --project #{project_id} --platform managed")
    rescue Thor::Error => e
      raise(Thor::Error, e)
    end

    desc "get_endpoint", "Show Worker's Endpoint"
    def get_endpoint(worker_name: "")
      `gcloud run services list | grep #{worker_name} | awk '{print $4}'`
    rescue Thor::Error => e
      raise(Thor::Error, e)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
souls-0.53.2 lib/souls/cli/gcloud/run/index.rb
souls-0.53.1 lib/souls/cli/gcloud/run/index.rb
souls-0.53.0 lib/souls/cli/gcloud/run/index.rb
souls-0.52.7 lib/souls/cli/gcloud/run/index.rb
souls-0.52.6 lib/souls/cli/gcloud/run/index.rb
souls-0.52.5 lib/souls/cli/gcloud/run/index.rb
souls-0.52.4 lib/souls/cli/gcloud/run/index.rb
souls-0.52.3 lib/souls/cli/gcloud/run/index.rb
souls-0.52.2 lib/souls/cli/gcloud/run/index.rb
souls-0.52.1 lib/souls/cli/gcloud/run/index.rb
souls-0.52.0 lib/souls/cli/gcloud/run/index.rb