コンセプト
主に ir.cron モデル。次のプロパティがあります。
- ir_actions_server_id: サーバーアクション
- cron_name: タスク名
- user_id: スケジューラ ユーザー、デフォルトは現在の環境ユーザーです
- アクティブ: デフォルトは True
- Interval_number: タスクの実行頻度
- Interval_type: タスクの実行頻度の単位。日、時間、分、週、月が含まれます。
- numbercall: ループの実行回数。-1 は実行を継続することを意味します。
- doall: サーバーの再起動中に実行機会が失われたことを示し、再度実行を補足するかどうかを示します。
- nextcall: 次回の実行呼び出し時間
- lastcall: 前回の実行時間
- 優先度: ジョブの優先度。0 は優先度が高く、10 は優先度が低い。
応用
モジュールのデータ フォルダーに cron_res.xml ファイルを作成します。
コードは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_ptn_demo" model="ir.cron">
<field name="name">async model res</field>
<field name="model_id" ref="model_my_res_ptn"/>
<field name="state">code</field>
<field name="code">model._async_model_res()</field>
<field name='interval_number'>3</field>
<field name='interval_type'>minutes</field>
<field name="numbercall">-1</field>
</record>
</odoo>
上記の点に注意が必要です。
- mode_id: タスクメソッドが配置されているモデルを示します。値はmodel_model名です。
- code: タスクのメソッド名を指定します。値はモデル.メソッド名です。
上記モジュールが初期化されると、データベースの ir.cron にレコードが生成され、プログラムが中断されない限り、設定されたタスクが定期的に実行されます。