odoo15 でスケジュールされたタスクを設定する

コンセプト

主に 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 にレコードが生成され、プログラムが中断されない限り、設定されたタスクが定期的に実行されます。

おすすめ

転載: blog.csdn.net/weixin_44141284/article/details/132336233