5

Meteor アプリ (PHP プロジェクトからのポート) に取り組んでおり、キャッシュのクリア、データの集約などのさまざまな操作のために、サーバーからアプリでコマンドを実行できる必要があります。これらのコマンドは、から実行する必要があります。シェル スクリプトと crontab。他の人がこの質問をしているのを見たことがありますが、どうやらまだ正式な方法はないようです。

Meteor メソッドを使用し、パスワードを使用してクライアントの JS コンソールから呼び出すだけの提案を読みました。これは CLI からそれらを実行するという私の問題を解決しませんが、アイデアを与えてくれました:

ヘッドレス ブラウザ (PhantomJS など) を使用してアプリに接続し、Meteor.call() を実行して、引数をメソッドに渡して CLI ツールをシミュレートすることはできますか? 可能であれば、これを達成する方法を知っている人はいますか?

ありがとう!

4

3 に答える 3

5

EDIT : Meteor Router の後継である Iron Router を使用するように更新しました。

ヘッドレス ブラウザや複雑なものは必要ありません。Meteoriteを使用してIron Routerをインストールし、サーバー側のルートを定義します。

Router.map(function () {
  this.route('clearCache', {
    where: 'server',
    action: function () {
      // Your cache-clearing code goes here.
    }
  });
});

次に、cronjob でその URI への HTTP GET リクエストをトリガーします。

curl http://yoursite.com/clearCache

Meteor サーバーが GET リクエストを受信すると、ルーターがコードを実行します。

セキュリティを少し強化するために、パスワードのチェックを追加します。

Router.map(function () {
  this.route('clearCache', {
    path: '/clearCache/:password',
    where: 'server',
    action: function () {
      if (this.params.password == '2d1QZuK3R3a7fe46FX8huj517juvzciem73') {
        // Your cache-clearing code goes here.
      }
    }
  });
});

そして、cronjob でそのパスワードを URI に追加します。

curl http://yoursite.com/clearCache/2d1QZuK3R3a7fe46FX8huj517juvzciem73

元の投稿:

ヘッドレス ブラウザや複雑なものは必要ありません。Meteoriteを使用してMeteor Routerをインストールし、サーバー側のルートを定義します。

Meteor.Router.add('/clearCache', function() {
  // Your cache-clearing code goes here.
});

次に、cronjob でその URI への HTTP GET リクエストをトリガーします。

curl http://yoursite.com/clearCache

Meteor サーバーが GET リクエストを受信すると、ルーターがコードを実行します。

セキュリティを少し強化するために、パスワードのチェックを追加します。

Meteor.Router.add('/clearCache/:password', function(password) {
  if (password == '2d1QZuK3R3a7fe46FX8huj517juvzciem73') {
    // Your cache-clearing code goes here.
  }
});

そして、cronjob でそのパスワードを URI に追加します。

curl http://yoursite.com/clearCache/2d1QZuK3R3a7fe46FX8huj517juvzciem73
于 2013-07-06T05:59:48.100 に答える
0

まさにそれを行うこの Meteor アプリをチェックしてください。

http://meteor-shell.meteor.com/

サーバーにいくつかのスクリプトを保存し、Meteor アプリの管理インターフェイスから実行できるのに、なぜ CLI ツールが必要なのですか?

于 2013-07-05T21:06:00.837 に答える
0

昨日も同じ質問。このパッケージを見つけましたが、まだ試していません https://github.com/practicalmeteor/meteor-mcli

概要

meteor を使用してコマンド ライン/cli プログラムを作成および実行するための meteor パッケージおよびコマンド ライン ツール。

インセンティブ

コマンドラインプログラムで流星アプリの同じコードを再利用できるようにするため、流星アプリから複製された多くのコードで別のノード/npmコードベースを作成する必要はありません。

于 2016-06-30T12:36:27.890 に答える