問題タブ [phoenix-framework]
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.
elixir - Phoenix フレームワークのコールバック
Phoenix フレームワークは、Railsに見られるようなコールバック フィルターのタイプを採用していますか? before_create
変更セットを検証できることはわかっていますが、 、 、 before_save
などのアクションを実装する方法を探していますafter_commit
。
elixir - 可能な場合に、処理のために操作をメッセージ キューにプッシュする
小さなスニペットで自分が何を望んでいるのかを説明するのが難しいので、私のタイトルは素晴らしいものではありません...すっごく詳しく試してみます!
Phoenix Web フレームワークを使用して Elixir アプリを作成しています。
私がやりたいことはこれです:
- phoenix が処理してコントローラーに渡す Web ルートを呼び出す
- メッセージキューに渡されるプロセスを開始するコントローラー
- リソースが利用可能になったときに処理されるキュー内の最新のアイテム (つまり、CPU/メモリ/など)
プロセスは Web ルート (つまり、非同期) に戻る必要はありません。
メッセージキュー(Beanstalk、RabbitMQ、sidekiq)を使用して他の言語でこれを処理する方法を知っており、「ジョブ」をワーカーに渡し、キュー上のジョブを処理するワーカーを記述します。
しかし....Elixirでは、すべてが「メールボックス」にプッシュされるため、デフォルトでキューがあることを知っています(YouTubeビデオで見ました:p)
しかし、メッセージ キューから処理される非同期プロセスをコントローラー (フェニックス) で生成する方法を示す適切なコード例が見つかりません。
私が探しているものを示すまともなリソースを知っている人はいますか、それを行う方法の基本的な説明を提供するコードスニペットを持っている人はいますか?
ありがとう :)
編集:
コメントで述べたように、Elixir アプリで Poolboy を起動して実行する方法についての基本的なチュートリアルを作成しました。私はそれが人々にとって役立つ(そして正しい!)ことを願っています:)
elixir - phoenix.server をデーモンとして起動する方法
以下のコマンドは、phoenix.server を本番モードで実行し、phoenix をデプロイするためのコマンドとして提供されます。
ただし、上記のコマンドはサーバーを対話的に実行し、ターミナルを閉じると、phoenix.server の実行が停止します。phoenix.server をバックグラウンドで実行するには?
windows - フェニックスフレームワーク - 新しいソケットで無効な引数 - windows
新しいフェニックス アプリを実行できません。これは私が得ているエラーです。何が原因なのかわからない。
ポートを変更してみましたが、動作は変わりませんでした。また、ノードを正しく実行できるようです。
phoenix-framework - Ecto where like クエリは where == のように機能します
私はectoのようなクエリを次のように動作させようとしています:
私のテーブルには、company_name「Asymptote」があります。where: like/2 を使用すると、クエリは次のようになります。
pg_trm 検索のコメントを外すと、次のようになります。
私が見る限り、クエリは問題ないように見えますが、結果はありません。データベースに "Asymptote" を追加した後にインデックスを追加したので、それが pg_trm インデックスに見つからない理由だと思いますが、like/2 または ilike/2 が機能しないのはなぜですか? 「Asymptote」というフルネームで入力すると、レコードを見つけることができます。
elixir - なぜ Phoenix は Plug を使用してサーバーを起動しないのですか?
irc の liveforeverx が私の元の質問に答えてくれたので、フォローアップとしてこの質問を修正しました。
Phoenix は、その機能の多くを Plug に依存しています。しかし、カウボーイ サーバーを起動する場合、Phoenix は Phoenix.Endpoint.CowboyHandler.start_link の Plug の API を使用して起動しないのはなぜですか? 代わりに、ranch_listener_sup の start_link が呼び出されるのはなぜですか?
Plug の何らかの制限のためですか、それとも Plug の API が成熟するずっと前に Phoenix がこのように開始したためですか?
私の元の質問:
フェニックスはカウボーイをどのように/どこで始めますか?
Plug docs を読むと、サーバーを起動するには、呼び出す必要があることがわかります
ただし、私のフェニックス アプリとフェニックス ソース コードを調べてみると、 への呼び出しのインスタンスが表示されませんPlug.Adapters.Cowboy.http/3
。フェニックスはカウボーイをどのように/どこで始めますか?