首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Odoo: cron作业设置为nextcall,一天中的特定时间不工作

Odoo是一款开源的企业资源规划(ERP)软件,它提供了一套完整的管理系统,包括销售、采购、库存、财务、人力资源等模块。在Odoo中,cron作业是一种定时任务,可以用于自动执行特定的操作或函数。

在Odoo中,可以通过设置cron作业的时间表达式来控制任务的执行时间。如果想要设置cron作业在一天中的特定时间不工作,可以将cron作业的时间表达式设置为nextcall,并在代码中添加逻辑判断,使得任务在特定时间不执行。

下面是一个示例代码,演示如何在Odoo中设置cron作业为nextcall,并在特定时间不工作:

代码语言:txt
复制
import datetime
from odoo import models, fields, api

class MyCronJob(models.Model):
    _name = 'my.cron.job'

    @api.model
    def _cron_job(self):
        current_time = datetime.datetime.now().time()
        if current_time < datetime.time(8, 0) or current_time > datetime.time(18, 0):
            # 在特定时间范围内不执行任务
            return

        # 执行任务的代码逻辑
        # ...

    # 设置cron作业为nextcall
    cron_job = fields.Char(default='nextcall')
    cron_interval_number = fields.Integer(default=1)
    cron_interval_type = fields.Selection([
        ('minutes', 'Minutes'),
        ('hours', 'Hours'),
        ('days', 'Days'),
        ('weeks', 'Weeks')
    ], default='hours')

    @api.model
    def create(self, vals):
        # 设置cron作业的执行时间间隔
        vals['cron_interval_number'] = 1
        vals['cron_interval_type'] = 'hours'
        return super(MyCronJob, self).create(vals)

在上述示例代码中,我们定义了一个名为MyCronJob的模型,其中_cron_job方法为cron作业的执行逻辑。在_cron_job方法中,我们首先获取当前时间,然后通过逻辑判断确定是否在特定时间范围内执行任务。如果在特定时间范围内,执行任务的代码逻辑将会被执行。

在模型中,我们设置了cron_job字段为nextcall,表示将cron作业设置为nextcall。同时,我们设置了cron_interval_number字段为1,cron_interval_type字段为hours,表示cron作业将每隔1小时执行一次。

这是一个简单的示例,你可以根据实际需求和业务逻辑进行修改和扩展。关于Odoo的更多信息和相关产品介绍,你可以访问腾讯云的官方文档:Odoo产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详解在Linux怎么使用cron计划任务

许多电脑上系统时钟(比如,操作系统时间)都设置使用网络时间协议(NTP)。 NTP 设置系统时间后,它不会去设置硬件时钟,它可能会“漂移”。我使用 cron 基于系统时间设置硬件时钟。...这些电子邮件提供了 cron 作业(备份、更新、等等)状态,和你从命令行手动运行程序时看到结果是一样。第三行环境设置了 PATH 变量。...cron 服务没有为 “每个月最后一天设置选项,因此,替代方式是使用下一个月一天,像如下所示(这里假设当作业准备运行时,报告所需要数据已经准备好了)。...换句话说,在这个例子,这个作业设置在上午 8 点到下午 6 点之间偶数小时每 5 分钟运行一次(08:00、08:05、 08:10、 08:15……18:55 等等),而运行在奇数小时。...而是,用于在一个指定时间开始,以一定时间间隔去运行程序,比如,从每天凌晨 3:00(看上面脚本 START_HOURS_RANGE 行)、从周日(每周第一天)和这个月一天

3.4K21

ODOO配置文件etcodoo.conf配置详解

**基本参数 Odoo通过端口5432通过UNIX套接字连接到本地postgres。...当Postgres部署不是本地部署和/或不使用安装默认值时,可以使用数据库选项覆盖此设置。 打包安装程序将自动创建一个新用户(odoo),并将其设置数据库用户。 数据库管理界面受管理密码设置保护。...此设置只能使用配置文件进行设置,并在执行数据库更改之前进行简单检查。应将其设置随机生成值,以确保第三方不能使用此接口。 所有数据库操作都使用数据库选项,包括数据库管理界面。...多处理是通过配置非零数量工作进程来实现工作进程数量应该基于机器核心数量(可能有一些空间供cron工作进程使用,这取决于预测cron工作量) 可以根据硬件配置配置工作进程限制,以避免资源耗尽...这样做时,您需要将更多http头转发给Odoo,并在Odoo配置激活代理模式,让Odoo读取这些头。

6.5K21

Cron Job 表达式解析

在 Windows ,您可能熟悉后台进程,例如与 cron 守护进程类似工作 Services。cron 文件是一个简单文本文件,其中包含在特定时间定期运行命令。...但是,与任何其他程序一样,cron 有一些限制,您在使用它之前应该考虑:作业之间最短间隔 60 秒。 使用 cron,您将无法每 59 秒或更短时间重复一项工作。集中在一台计算机上。...否则,可能无法正确设置 cron 作业。crontab 语法由具有以下可能值五个字段组成:Minute. 命令运行分钟,范围 0-59。Hour....要为您 cron 命令设置正确时间cron 作业操作员知识是必不可少。它们允许您指定要在每个字段输入值。您需要在所有 crontab 文件中使用正确运算符。星号 (*)。...例如,如果您想在 6 月到 9 月之间设置一个 cron 作业,则在“月份”字段写入 6-9 就可以完成这项工作。分隔器 (/)。表示间隔时间触发(开始时间/时间间隔)。

1.8K20

Linux cron 系统 4 种替代方案 | Linux 中国

答案是否定。有一些开源项目就可以用来与 cron 结合或者直接代替 cron 使用。 at 命令 cron 适用于长期重复任务。如果你设置了一个工作任务,它会从现在开始定期运行,直到计算机报废为止。...时间间隔可以是每月特定日期一天一次(例如在星期一时候触发),或者在 09:00 到 17:00 工作时间内每 15 分钟一次。...anacron 命令 cron 专门用于在特定时间运行命令,这适用于从不休眠或断电服务器。然而对笔记本电脑和台式工作站而言,时常有意或无意地关机是很常见。...当计算机处于关机状态时,cron 不会运行,因此设定在这段时间一些重要工作(例如备份数据)也就会跳过执行。 anacron 系统旨在确保作业定期运行,而不是按计划时间点运行。...自动化 计算机和技术旨在让人们生活更美好,工作更轻松。Linux 用户提供了许多有用功能,以确保完成重要操作系统任务。查看这些可用功能,然后试着将这些功能用于你自己工作任务吧。

2.2K10

Linux cron 系统 4 种替代方案

at 命令 cron 适用于长期重复任务。如果你设置了一个工作任务,它会从现在开始定期运行,直到计算机报废为止。但有些情况下你可能只想设置一个一次性命令,以备不在计算机旁时该命令可以自动运行。...时间间隔可以是每月特定日期一天一次(例如在星期一时候触发),或者在 09:00 到 17:00 工作时间内每 15 分钟一次。...anacron 命令 cron 专门用于在特定时间运行命令,这适用于从不休眠或断电服务器。然而对笔记本电脑和台式工作站而言,时常有意或无意地关机是很常见。...当计算机处于关机状态时,cron 不会运行,因此设定在这段时间一些重要工作(例如备份数据)也就会跳过执行。 anacron 系统旨在确保作业定期运行,而不是按计划时间点运行。...anacron 确保重要工作在 可执行时候 发生,而不是必须在安排好 特定时间点 发生。 点击参阅关于 使用 anacron 获得更好 crontab 效果 更多内容。

2.4K10

Quartz.NET 配置文件详解

3. quartz.threadPool.threadPriority 设置作业每个线程优先级,可取 System.Threading.ThreadPriority 枚举。...若没有设置此属性,服务会根据 cron-expression 规则执行作业调度;若 start-time 时间小于当前时间,服务启动后会忽略 cron-expression 设置,立即执行一次调度...通配符说明: 1) * 表示所有值,例如:分设置"*",表示每一分钟都会触发。 2) ? 表示指定值,使用场景不需要关心当前这个元素。...如果在日字段上设置"LW",则表示在本月最后一个工作日触发;周字段设置,若使用英文字母是区分大小写,即MON与mon相同。 3. 常用示例: 0 0 12 * * ?            ...所以,还需要在以后工作多多运用才行。

2K20

《Linux命令行与shell脚本编程大全》第十六章 控制脚本

步骤: $sleep 30 按下Ctrl + Z $ls -l --forest S列(进程状态),停止进程状态T。 $exit 这样会退出。...4.删除作业 atrm删除等待作业,后面接作业号。 比如: $atrm 3 16.6.2安排需要定期执行脚本 可以设置每天指定时间运行一次,或者每周一次,每月一次。...cron程序可以安排定期执行作业cron程序会在后台运行并检查一个特殊表,来获取已安排执行作业。 1.cron时间表 采用一种特别的格式来指定作业何时运行。...时间表允许你用特定值,取值范围(比如1~5)或者通配符*来指定条目。...构建cron时间表 crontab –l 列出已有的cron时间表。默认情况下,用户cron时间表并不存在。 要为cron时间表添加条目可以用-e选项。

3K61

你应该使用 Python 管理 Cron 作业

在系统管理期间,需要在服务器上运行后台作业来执行日常任务。Cron 是一个系统进程,用于例行执行后台任务。Cron 需要一个名为 crontab 文件,其中包含在特定时间要执行任务列表。...接下来你需要安排 cron 在什么时间工作。 让我们安排 cron 作业每分钟运行一次。如此,在一分钟时间间隔内,当前日期和时间将被附加到 dateInfo.txt 文件。...使用 python-crontab 创建 cron 作业时,您可以将 ID 设置注释形式。...my_cron = CronTab(user='kevin') for job in my_cron: print(job.frequency_per_hour()) 要检查一天工作频率,可以使用...---- 检查作业时间表 python-crontab 提供了检查特定作业时间功能。但是它有个依赖,您需要安装 croniter。

2.6K110

如何在 Ububtu 18.04 上安装 Odoo 13

在虚拟环境安装 Odoo,或者部署一个 Docker 容器,允许你对系统设置有更多控制,并且可以在同一个系统上运行多个 Odoo 软件版本。...,命名为odoo13,用户目录/opt/odoo13: sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13 你可以将这个名字设置成任何你想要设置名字...--depth 1 --branch 13.0 /opt/odoo13/odoo 一旦下载完成, Odoo 创建一个新 Python 虚拟环境。...想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 工作进程数字。工作进程数字,基于 系统 CPU 核心数字和可用 RAM 内存来计算。...30 users / 6 = **5**(5 是所需要理论工作进程数量) (4 * 2) + 1 = **9**(9 是理论最大工作进程数量) 基于上面的计算,你可以使用 5 个进程+1 个进程(Cron

8.7K41

十一.Linux计划任务

-c: 查看具体作业任务 (相当于用cat查看原文件) -f:/path/from/somefile:从指定文件读取任务 -m:当任务被完成之后,将给用户发送邮件,即使没有标准输出 注意:作业执行命令结果标准输出和错误以邮件通知给相关用户...2.2 时间表示法 特定值:给定时间点有效取值范围内值 *:给定时间点上有效取值范围内所有值,表示“每…” 离散取值:#,#,# 如:1,3,5 连续取值:#-# 如:1-5 在指定时间范围上,...2.4 anacron系统 运行计算机关机时cron运行任务,CentOS6以后版本取消了anacron服务,由crond服务管理 对笔记本电脑、台式机、工作站、偶尔要关机服务器及其它不一直开机系统很重要对很有用...&> /dev/null (根用户能够修改其它用户作业)即:运行结果标准输出和错误以邮件通知给相关用户 COMMAND > /dev/null COMMAND &> /dev/null 对于cron...任务来讲,%有特殊用途;如果在命令要使用%,则需要转义,将%放置于单引号,则可不用转义 声明:本文原创,作者 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/%

2.5K20

如何在 CentOS 8 上安装 Odoo 13

Odoo 域名替换 example.com并且设置正确 SSL 证书地址。...想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 工作进程数字。工作进程数字,基于 系统 CPU 核心数字和可用 RAM 内存来计算。...通过 Odoo 官方文档计算工作进程数量以及需要 RAM 内存大小,你可以使用下面的公式: 工作进程数量计算: 工作进程最大数量理论值 = (system_cpus * 2) + 1 1 个工作进程可以服务...30 users / 6 = **5**(5 是所需要理论工作进程数量) (4 * 2) + 1 = **9**(9 是理论最大工作进程数量) 基于上面的计算,你可以使用 5 个进程+1 个进程(Cron...在这篇指南中,我们将 Odoo,PostgreSQL 和 Nginx 安装在同一个服务器上。依赖于你设置,你服务器上还有其他服务。

3.9K20

Linux定时运行作业

Linux运行定时作业方法 当使用shell脚本时,你可能想在某个特定时间运行shell脚本,Linux系统中提供了多个在特定时间运行shell脚本方法:at命令和cron表。...cron程序会在后台运行并检查一个表(cron时间表),以获得要安排执行作业。...cron时间表采用一种特别的格式来指定作业合适运行,其格式如下: min hour dayofmonth month dayofweek command cron时间表允许你用特定值、取值范围或通配符来指定条目...每月第一天中午12点执行表示形式: 00 12 1 * * command crontab -l命令可以列出已有的cron时间表。...$ crontab -l crontab: no crontab for *** cron时间表是假设Linux系统是7*24小时运行,如果到了时间系统关机,则作业不会被执行,开机后,cron程序不会执行错过作业

3.3K20

任务调度框架 Quartz

系统维护:安排一项作业,在每个工作日晚上 11:30 将数据库内容转储到 XML 文件。 在应用程序中提供提醒服务。...作业调度: 作业可被安排在特定触发器触发时运行,比如在一天某个时间,每周每月特定日子,重复次数,无限重复等。 工作执行:写一个 实现 Job 接口 Java 类即可。...日历在从触发器中排除 某个时间段 很有用。例如,创建每个工作上午 9:30 触发工作,然后排除所有法定假期日历。..., 几乎总是执行与线程池大小相同数量作业,那么您应该将 DataSource 连接数设置线程池大小 + 2。...功能包括负载平衡和作业故障转移(如果 JobDetail “请求恢复”标志设置 true)。

2.9K10

Java任务调度框架Quartz教程

调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要部件。Quartz不仅仅是线程和线程池管理。确保可伸缩性,Quartz采用了基于多线程架构。...作业存储设置: 描述了在调度器实例声明周期中,job和trigger信息是怎么样存储 插件配置: 满足特定需求用到quartz插件配置 5.监听器 监听器顾名思义,就是对事件进行监听并且加入自己相应业务逻辑...“W”字符仅能在day-of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月最后一个工作日。 # 只能用在day-of-week字段。...(10); //设置作业执行优先级默认为5 //simpleTrigger.setPriority(10); //作业和触发器设置到调度器...(10); //设置作业执行优先级默认为5 //simpleTrigger.setPriority(10); //作业和触发器设置到调度器

3.3K20

WordPress 技巧:禁用 WP Cron

我们知道 WordPress 有个进程专门用来在指定时间周期或者将来某个时间点运行特定任务,比如定时发布某篇日志。...这个功能 WordPress 是通过 WP-Cron 实现,它会在每次你博客有人访问或者在后台工作时候,都会去检查当前是否有任务要执行。...); 然后在服务器上创建真正 Cron 作业,如果你使用 Bluehost 这类使用 Cpanel 管理主机,可以直接在 Cpanel 面板 > 高级选项 > Cron Jobs 添加: 根据你自己博客定义作业情况...,定义执行时间周期,比如一天2次等。...然后输入下面的命令: /usr/bin/php -f /home/username/public_html/wp-cron.php >/dev/null 你需要根据自己主机实际情况更改下上面的命令

50710

用 Linux at 命令来安排一个任务

计算机擅长 自动化,但不是每个人都知道如何使自动化工作。不过,能够在特定时间电脑安排一个任务,然后忘记它,这确实是一种享受。...也许你有一个文件要在特定时间上传或下载,或者你需要处理一批还不存在但可以保证在某个时间存在文件,或者需要监控设置,或者你只是需要一个友好提醒,在下班回家路上买上面包和黄油。...这就是 at 命令用处。 什么是 Linux at 命令? at 命令是在 Linux 终端让你在特定时间和日期安排一次性工作方法。它是一种自发自动化,在终端上很容易实现。...在大多数 Linux 系统,你可以使用 systemctl 命令来启用该服务,并将它们设置从现在开始自动启动: $ sudo systemctl enable --now atd 用 at 交互式地安排一个作业...用 Linux at 安排任务 at 系统是一个很好方法,可以避免忘记在一天晚些时候运行一个作业,或者在你离开时让你计算机你运行一个作业

60020

Linuxcron程序

Linux定时作业 在Linux,如果要在预设时间执行shell脚本,at命令非常好用,但如果需要定期执行shell任务,例如每天一次、每周一次,则需要Linuxcron程序来安排定期执行作业。...cron程序会在后台运行并检查一个表(cron时间表),以获得要安排执行作业。...2. cron时间cron时间表采用一种特别的格式来指定作业合适运行,其格式如下: min hour dayofmonth month dayofweek command cron时间表允许你用特定值...每月第一天中午12点执行表示形式: 00 12 1 * * command crontab -l命令可以列出已有的cron时间表。...$ crontab -l crontab: no crontab for *** cron时间表是假设Linux系统是7*24小时运行,如果到了时间系统关机,则作业不会被执行,开机后,cron程序不会执行错过作业

1.2K10

SpringBoot下使用定时任务方式全揭秘

本文旨在用通俗语言讲述枯燥知识 定时任务作为一种系统调度工具,在一些需要有定时作业系统应用广泛,如每逢某个时间点统计数据、在将来某个时刻执行某些动作...定时任务在主流开发语言均提供相应API...整合Quartz Quartz是一个完全由Java编写开源作业调度框架,在 Java 应用程序中进行作业调度提供了简单却强大机制,要理解它使用方式,需要先理解它几个核心概念: Job: 表示一个工作...注解参数用来设置“定时”动作,通常情况下,比较常用参数是cron(),这意味着我们需要学会一些cron表达式相关语法,但由于内容较多,篇幅较长,在这里暂不铺开讲解,我们把cron语法相关放到文章最后.../ L # 年(可省略) 1970-2099 , - * / 其中通配符解释以及作用如下: 通配符 代表值 解释 * 所有值 如:时字段*,代表每小时都触发 ? 指定值 如:周字段?...,时字段设置 2/5,代表从2时开始每隔5小时触发一次 L 最后值 如:日字段设置L,代表本月最后一天 W 最近工作日 如:在日字段设置13W,代表没约13日最近那个工作日触发一次 # 序号 如:在周字段设置

45510

用 Linux at 命令来安排一个任务

at 命令是在 Linux 终端让你在特定时间和日期安排一次性工作方法。它是一种自发自动化,在终端上很容易实现。 安装 at 在 Linux 上,at 命令可能已经安装了。...在大多数 Linux 系统,你可以使用 systemctl 命令来启用该服务,并将它们设置从现在开始自动启动: $ sudo systemctl enable --now atd 用 at 交互式地安排一个作业...你可以输入你想在指定时间运行命令。 做个比喻,你可以把这个过程看作是一个日历应用,就像你在你手机上使用那样。首先,你在某一天某个时间创建一个事件,然后指定你想要发生什么。...你不需要用 24 小时制时钟,也不需要把时间翻译成 UTC 或特定 ISO 格式。...用 Linux at 安排任务 at 系统是一个很好方法,可以避免忘记在一天晚些时候运行一个作业,或者在你离开时让你计算机你运行一个作业

62730
领券