首页
学习
活动
专区
工具
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产品介绍

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

相关·内容

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

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

7.7K31

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.9K20
  • Linux 中 cron 系统的 4 种替代方案 | Linux 中国

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

    2.3K10

    如何在Linux系统中使用Cron指南

    它可以是0到59之间的值。例如,将其设置为0将在小时开始时运行命令。 小时(0-23):小时字段以24小时格式指定。它决定在一天中的哪个时间执行命令。例如,将其设置为14将在下午2点运行命令。...月份中的天(1-31):此字段指定命令将运行的月份中的日期。它可以是1到31之间的任何值,具体取决于月份的天数。例如,将此设置为1将在每个月的第一天运行命令。...例如,将其设置为5将在每个星期五运行命令。 命令或脚本:最后,命令或脚本字段是指定cron作业应该执行的操作的地方。这可以是Cron守护程序将在指定时间执行的任何命令或脚本文件的路径。...此外,在依赖自动执行之前,请使用crontab中定义的相同路径和环境设置手动运行脚本或命令,以确保它们按预期工作。 设置和管理Cron作业 现在让我们放下理论。...它的美在于它的多功能性和精确性。从以分钟为间隔执行的简单命令到为特定日期和时间调度的复杂脚本,cron可以适应许多需求。

    22210

    Linux 中 cron 系统的 4 种替代方案

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

    2.5K10

    Quartz.NET 配置文件详解

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

    2.1K20

    《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.7K110

    如何在 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.8K41

    十一.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.6K20

    如何在 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 安装在同一个服务器上。依赖于你的设置,你的服务器上还有其他的服务。

    4K20

    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.5K20

    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)。

    3K10

    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 你需要根据自己主机的实际情况更改下上面的命令中

    62210

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

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

    62220

    Linux的cron程序

    Linux定时作业 在Linux中,如果要在预设时间执行shell脚本,at命令非常好用,但如果需要定期执行shell任务,例如每天一次、每周一次,则需要Linux的cron程序来安排定期执行的作业。...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.3K10

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

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

    47510

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

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

    67130
    领券