Giter Club home page Giter Club logo

nuinfobbs's Introduction

nuinfobbs

名古屋大学の情報学部の掲示板をクロールして、TwitterLINE、Slackに更新情報を配信します。

containersのそれぞれが独立して動いています。

使い方

GCPのCloud RunとCloud Schedulerを使います。

準備

GCPで新規プロジェクトを作成して、コマンドラインでgcloudが動くようにします。

コンテナのビルド

containersディレクトリの中のディレクトリ(crawlerなど)それぞれに対して、Dockerfileが存在する階層で

$ gcloud builds submit --config cloudbuild.yaml .

を実行します。

そうすると、Cloud BuildでビルドされてContainer Registryにpushされます。

Cloud Runにデプロイ

Container Registryのイメージを、Cloud Runにデプロイします。最大1リクエストかつスケール数も最大1にしてください。

環境変数の設定

containers/*/src/main.goconfigという構造体を見れば必要な環境変数がわかります。

ひと目でわからなそうな環境変数だけ説明します。

crawler
環境変数 説明
TARGET_URL クロール対象の掲示板を開いたトップページのURL
DEFAULT_DONE 既に投稿を配信済みとしてDBに投げるかを書きます。(true/false)
JOB_TAGS 他のコンテナ向けのタグを,区切りで入力します。例)twitter,slack,line
crawler以外
環境変数 説明
TAG タグを指定します。このタグに一致するポストでDoneがfalseのものを配信していきます。例)twitter

Cloud Schedulerの設定

Cloud Schedulerで定期的にCloud RunのURLを叩きます。

nuinfobbs's People

Contributors

nu50218 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

nuinfobbs's Issues

refactorする

libraryまわりをちゃんとする

  • envを使わずに、環境変数を構造体に埋めてくれるライブラリを使う
  • データ管理をfirestoreじゃなくしたときのために、jobutilsになにか構造体をつけてメソッドを生やして移行しやすくする

Slackにポスト

Slackにも投稿できるようにする
テーブルの列を増やす

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.