API で一定時間後に非同期処理を行うベストプラクティス
EC2 で動いてる Fuel API サーバーで
ユーザからリクエストが来た後一定時間経過後に処理(RDS上のMySQLを更新)というようなことがやりたいです
ただ API なのでユーザにはすぐに返答を返す必要があるため
非同期で処理をしたいのですがそういう機能はあったりしますか?
単に PHP で fork とか thread とかで分岐してしまえばいいのでしょうか
あと Fuel で単独でできない場合 AWS のサービスでタイマー実行を低コストで簡単に行えるものはないですか?
使ったことがあるのが EC2, Lambda, API Gateway ぐらいなので
API Gateway 経由で Lambda を起動して Lambda 内で一定時間 sleep してから処理をする
ぐらいしか思いつかないんですが
非同期タイマー処理を行ういい方法があれば教えていただきたいです
追記
リクエストを受けてから例えば 5 分後に処理を行いたくて
パラメータをどこかにためておいて
5 分ごとに cron で一斉処理だと
リクエストから 2 分だったり 3 分だったりで処理されるのでNGです
追記
さらに終了時の MySQL の状態に応じて能動的にサーバーからユーザにアクションを行いたいので
単に制限時間を MySQL に覚えておいて次にリクエストにきたときに
時間切れかどうかを判定するみたいなこともできません
とにかく「非同期で一定時間後に処理を行う」ということがしたいです