問題タブ [ironworker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - IronWorker に db 接続文字列を格納するための推奨される方法は何ですか?
Heroku では、パスワード ファイルを git にチェックインする必要がないように、環境変数に機密性の高い資格情報を保持させるのが一般的です。
IronWorkers に似たようなものはありますか? データベースに接続する必要がある IronWorker に db 接続文字列を渡すにはどうすればよいですか? 理想的には、database.yml にユーザー名とパスワードを含めないようにしたいと考えています。
例えば:
$heroku構成
HEROKU_POSTGRESQL_CYAN_URL: postgres://mmuxxxxxxxnhzp:X0JdWLxxxcJQ4ffO0xTjO6scJr@ec2-23-23-214-251.compute-1.amazonaws.com:5432/de11tlh7iq999x
$ heroku config:set SOMEVAR=somevalue
SOMEVAR=何らかの値
どんな助けでも大歓迎です!
ありがとう、ディミトリ
iron.io - `gemfile "Gemfile", "group"` を含む .worker ファイルでは、リモート ビルド時間が x10 増加します
アプリケーション全体で必要な gem をより適切に管理するために、:iron という名前の Gemfile グループを作成しました。
これは、鉄の労働者に必要な宝石を統合するのに役立ちます。私の .worker ファイルは次のようになりました。
すべての宝石を個別に冗長にリストする代わりに:
残念ながら、これによりリモート ビルド時間が 1 分から 10 分に増加しました。出力ははるかに多くの gem を含めようとし、ネストされた依存関係を泡立てているように見えます。
前:
後:
この出力はローカルでしたが、IronWorker サービスでは gem を複数回再インストールする (アンインストールしてからバンドラーを再インストールする) ため、さらに時間がかかりました。以下のログに詳細があります。
https://hud.iron.io/tq/projects/5254773dd05880000d000003/tasks/525ee1d9f8953468b927e83f/log
その後、gemfile "Gemfile", "iron" を呼び出すのではなく、必要な gem を単にリストする .worker ファイルに戻りました。バンドラーを再インストールせずに gemfile を使用し、10 分のアップロード時間を確保する方法についてのヘルプをいただければ幸いです。
ありがとう。
編集
完全な Gemfile を追加します。:default グループのすべての gem を取得する必要はないことに注意してください。それは私たちの労働者にとってやり過ぎです。鉄が欲しいだけです。
バンドル バージョン 1.3.5
グループ化された Gemfile:
iron.io - 1 回の API 呼び出しで多くの IronWorker タスクを作成する
現在、iron_worker_ruby_ng gem を使用すると、一度に 1 つずつタスクを作成できます。
アイアンワーカー client.tasks.create('MyWorker', {:client => 'Joe'})
一部のシナリオでは、何千ものタスクを作成する必要があります。この場合、一度に多くのジョブを作成できれば、より高速で効率的になります。
--
gem をフォークして変更を加えましたが、残念ながらサービス エンドポイントが 400 を返します。これを行う方法はありますか? そうでない場合、これが機能になる可能性はありますか?
ありがとう、
ディミトリ
node.js - Ironworker ペイロード変数ノード
ここで明らかなことを見逃しているかもしれませんが、Iron Worker で Node を使用するためのドキュメントはまだかなり限られています。
したがって、ワーカーは問題なく作成されましたが、ペイロードがタスクに渡されるとどうなるかわかりません。ペイロード オブジェクトにアクセスできるようにする変数または関数が exec ファイルに渡されていますか?
誰かが助けてくれることを願っています。
ironworker - Ironworker アップロードでの MIME タイプの問題
ワーカーをアップロードして、リモートで .worker ファイルにビルドしようとしています。このエラー メッセージが表示されます。
すでに mime-types 2.0 を有効にしていますが、Gemfile には mime-types 1.25 が必要です。bundle exec を使用すると、これを解決できる場合があります。
mime-types をアンインストールして、mime-types 1.25 をインストールしようとしましたが、それでも解決しないようです。
ironworker - IronWorker マスター スレーブのセットアップで、残りのクライアント 400 エラーが発生します。この問題を解決するにはどうすればよいですか?
私は単純なアイアンワーカー マスター/スレーブ ワーカーを設定しています。
しかし、私は一貫してこのエラーが発生しています
このエラーを生成しているコードは次のとおりです。
マスター: *messages_dispatcher.rb*
*messages_dispatcher.worker*
スレーブ: *messages_worker.rb*
*messages_worker.worker*
誰かが同様の問題を抱えていましたか。「rest」を「typheous」gem に置き換えると、同じ行で同様に 400 エラーが発生します。
どんな助けでも大歓迎です!
heroku - 外部ワーカーで sqlalchemy 宣言を使用する
Flask と sqlalchemy を使用して Python で記述された Web アプリがあります。このアプリケーションは Heroku で実行され、worker として ironworker 拡張機能を使用しています。すべてのモデルをmodelsモジュールで次のように定義しています。
(これが app から db をインポートする方法に注意してください) 次のようにモデルをインスタンス化することで、アプリケーションでこれらのモデルのインスタンスを作成できます。
今、私がやりたいことは、外部ワーカーでこれらのモデルのインスタンスを作成できるようにすることです。そうすることを妨げている唯一のことは、アプリ モジュールへの依存関係です。この依存関係が正当化されるとは思わないので、モデル モジュールを単純にワーカーにエクスポートし、そこで sqlalchemy インスタンスを初期化し、モデルのインスタンスを作成してデータベースに正確に保存できるようにするためのより良い設計アプローチを見つけたいと考えています。アプリケーション自体でできるのと同じ方法です。
次のように、ワーカーからデータベースに既にアクセスできることに注意してください。
モデル構造をワーカーに反映させるより良い方法を探しています。具体的には、モデルが変更され、両端のコードを別々に維持する必要がある場合のシナリオを考えています。モデルを再利用し、両端で宣言を使用することができれば、ワーカー側でのメンテナンスはまったく必要ありません。
yii - 作業中に IronWorkers を使用する
私のウェブサイトは AWS Elastic Beanstalk (PHP) でホストされています。Yii Framework を MVC として使用しています。
少し前まで、毎日 SQL クエリを実行したいと思っていました。Beanstalk で cron を実行する方法を調べたところ、Cloud と Cron の概念を統合するのは複雑に思えました。私は Iron Worker ( http://www.iron.io/worker ) に出くわし、現在正常に機能しているワーカーを作成することができました。
今日は、より複雑な cron を実行したいと考えています (データベースで通知を探し、メールを送信するかどうかを決定し、メール テンプレートを作成して (AWS SES 経由で) メールを送信します)。
私が理解していることから、ワーカー ファイルは自己完結型のアイテムであり、機能するために必要なものがすべて含まれているはずです。しかし、私は MVC の構築に多くの時間と労力を費やしてきました。複雑なモデル、検証、電子メール テンプレート エンジンなどがあります。Iron Worker を作成するために行った作業を使用するのは非常に難しいようです。すべてのコードをワーカーに移植できたとしても (これは大変な作業のように思えます)、メイン コードに変更を加えるたびに、ワーカーにもそれらの変更があることを確認する必要があります。これは、コードの「ブランチ」を持つことを意味します。将来、より多くのワーカーを作成したい場合はなおさらです。
正しいアプローチは何ですか?