0

ROR と mongodb を使用しています。アプリケーションは Heroku にデプロイされています。Amazon ec2 でいくつかの遅延ジョブを実行したいと考えています。そのために、このコマンドに出くわしました

git pull on your repo.
chmod 600 xyz.pem
ssh -i xyz.pem ubuntu@ec2-234-33-37-14.compute-1.amazonaws.com

誰かが私に良いリソースを指摘したり、Amazon ec2 で dealyed_job のセットアップを開始する方法を説明したりできれば、私は heroku で作業しましたが、 ec2 では作業しませんでした。

私が知っていること:
1) コードに遅延ジョブを実装する方法。

わからないことや疑問があること:
1) amazon ec2 で新しいマシンをセットアップして、Rails リポジトリを作成する方法を教えてください。
2)herokuにあるアプリmongoデータベースに接続してdelayed_jobsを実行する方法.?

4

1 に答える 1

1

1) Rails レポジトリを持つように新しいマシンをセットアップする方法は?

さまざまな方法で新しいマシンを自動的に構成できます。これを行う一般的な方法として、Puppet/Chef/SaltStack があります。

非常に単純なセットアップの場合は、スクリプトを実行するだけです。AWS では、マシンの起動時に (UserData を介して) スクリプトを提供できます。https://help.ubuntu.com/community/CloudInit

AWS に提供する UserData スクリプトの例を次に示します。

#!/bin/sh

set -e -x

apt-get --yes --quiet update
apt-get --yes --quiet install git

git clone https://github.com/user/repo.git /destination/folder

2) app mongo データベースに接続してdelayed_jobsを実行する方法は?

ドキュメントはこちらにあります: https://github.com/collectiveidea/delayed_job

遅延ジョブ

任意のオブジェクトで .delay.method(params) を呼び出すと、バックグラウンドで処理されます。

# without delayed_job 
@user.activate!(@device)

# with delayed_job 
@user.delay.activate!(@device)

モンゴ

Mongoid でdelayed_job を使用する場合は、delayed_job_mongoid を Gemfile に追加してください。

gem 'delayed_job_mongoid'

編集:さらに読む

于 2013-08-13T04:53:52.843 に答える