orderはagentに指示(命令)して動かすものってだけで命名してます
(DBからタスクを取得してagentへ渡す)

当初これを別のシステムで作っていたのだが
・同時かつ大量に処理させたい
・agentで実行される処理時間が異なる(数秒から数十分)
・決められた時間内で終わらせる
という理由がありましたのでこれを作りました

reporterはorderと統合もできたのですが、
役割を明確にするためにも分離しました

コードを書いたのが2年以上前で同様の処理をさせたい案件が最近出てきたので
もっといい案があればとご高説は承りたく質問いたしました