1
引数工assがnewtosoft Json.NETでJSONから直列化復元され
List<SomeClass>
と
私のアプリケーション・エンキューの仕事。このように:
オープン成功のジョブの詳細は、私が見てきたBackgroundJob.Enqueue(() => myJob.jobStartMethos(List<SomeClass> argument));
:
MyJobClass myJob = Activate<MyJobClass>();
myJob.jobStartMethod(
new { FromJson<SomeClass>("json string"), FromJson<SomeClass>("json string"), FromJson<SomeClass>("json string"), FromJson<SomeClass>("json string"), FromJson<SomeClass>("json string"), FromJson<SomeClass>("json string") ... etc...
この引数は大きすぎて、本当にの詳細を参照するには防ぐことができます。どのように私はこれを修正することができます?私はSomeClassでtoString()をオーバーライドしようとしましたが、これは役に立ちません。 そして私は試しました
JobHelper.SetSerializerSettings(new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.None
});
しかし、これは役に立ちません。
私はちょうど興味があります、あなたはそこをどのような価値観ですか?大規模なバックグラウンドジョブの引数は一般的に悪い習慣です。 – odinserj
私はHangfireで1つの定期的な仕事をしています。このジョブは15分ごとに実行され、最新の更新されたオブジェクトを取得するためにREST APIによってCRMに照会します(CRMが大きすぎるため、そのようなやり取りは唯一の方法です)。このオブジェクトには説明、履歴などが含まれます。CRMレスポンスJSONからオブジェクトを逆シリアル化した後、バックグラウンドジョブの引数として提供されます。バックグラウンドジョブがオブジェクトの変更を見て特定の方法で反応する(変更を加える、他のシステムで警告する) バックグラウンドジョブが多すぎます。この作業を制御するために、私はmodel.listen(オブジェクト)をバックグラウンドジョブとして非同期で実行する代わりにバックグラウンドジョブとして使用しました。model.listen(objects) – sintasy
しかし、別のテーブルを作成してそこに値をダンプし、処理後のレコード)?このようにして、メソッドを冪等にすることもできます。 – odinserj