perform_asyncがワーカーで呼び出されたのにsidekiq(bundle exec sidekiq
)が実行されていないときに何が起こったのだろうと思いましたか?perform_asyncが呼び出されましたが、sidekiqが実行されていない場合はどうなりますか?
私のアプリでは、自分のモデルの1つがトリガー(つまり、場合によっては作成、更新、破棄)されたときにsidekiqに仕事を依頼するオブザーバーがいくつかあります。
私はまた、このタスクが実行されている場合...私が持っているいくつかのデータからデータベースを構築するrakeタスクを持って、それがその後、sidekiqキュー内のジョブをプッシュする私のオブザーバーを誘発するいくつかのレコードを作成します。
私はサイドキックをオンにしないでこのタスクを実行しましたが、うまくいきました。私のデータはmysqlにプッシュされています!
私の観察者が私の労働者にするように指示している仕事には何が起きているのですか?それはまだ終わったのですか?それは行われますが、非同期ではありませんか?それはではないが完了しましたか?
だから、これは私がsidekiqをオンにするまで、そのすべてが、Redisのサーバーに格納され、それがオンにない場合、それはsidekiqするためにそれらをプッシュすることを意味しますか? – Naarsh
はい、それは良いですが、なぜまさに、これは、なぜそれが – Nermin
よし非同期(async)と呼ばれています!これは非常に有用なおかげでたくさんあり:) – Naarsh