django 定时脚本

python 第三方定时执行
from datetime import datetime
import time
import os

from apscheduler.schedulers.background import BackgroundScheduler

def tick():
    print(‘Tick! The time is: %s‘ % datetime.now())

scheduler = BackgroundScheduler()
scheduler.add_job(tick, ‘interval‘, minutes=1)
scheduler.start()    #这里的调度任务是独立的一个线程

if __name__ == ‘__main__‘:
    scheduler = BackgroundScheduler()
    scheduler.add_job(tick, ‘interval‘, seconds=3)
    # scheduler.add_job(tick, ‘date‘, run_date=‘2016-02-14 15:01:05‘)#在指定的时间,只执行一次
    scheduler.start()    #这里的调度任务是独立的一个线程
    print(‘Press Ctrl+{0} to exit‘.format(‘Break‘ if os.name == ‘nt‘ else ‘C‘))

    try:
        # This is here to simulate application activity (which keeps the main thread alive).
        while True:
            time.sleep(2)    #其他任务是独立的线程执行
            print(‘sleep!‘)
    except (KeyboardInterrupt, SystemExit):
        # Not strictly necessary if daemonic mode is enabled but should be done if possible
        scheduler.shutdown()
        print(‘Exit The Job!‘)

  

原文地址:https://www.cnblogs.com/flash55/p/9032960.html

时间: 2024-10-18 04:52:54

django 定时脚本的相关文章

crontab中添加定时脚本不生效的原因

最近一段在检查服务器的定时脚本的时候发现了有部分服务器上的mysqldump定时脚本并没有被执行,因为在脚本中有生成日志所以就发现了问题.于是先去/var/log/cron中查看了下日志发现在相应的时候crond有执行相应的脚本,初步分析是是脚本的逻辑有问题于是就去看了下,并且执行了下发现脚本的逻辑是没有问题的,而且直接执行是没有问题的,后来又去/etc/crontab文件里去看了下 发现crontab中的环境变量不一样,但是脚本中有使用绝对路径,最后发现mysqldump中有使用allow-k

django迁移脚本

执行migrate报错的解决办法: 想知道migrate为什么报错,需要先了解migrate到底做了什么事情 migrate做了什么事情? 1.将相关的迁移脚本翻译成sql语句,然后在数据库中执行 2.如果sql语句执行没有问题,那么会将相关的迁移脚本的名字记录到数据库中django_migrations表中 migrate怎么判断哪些迁移脚本需要执行? migrate会将代码中的迁移脚本和数据库中的迁移脚本做对比,如果发现数据库中没有这个迁移脚本,便会执行 原因 执行migrate报错,是因为

centos 7 安装django 简单脚本

#!/bin/sh [ ! -d "~/temp/" ] && mkdir ~/temp/  cd ~/temp/ echo "###download setuptool" wget https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea --no-check-certifica

cygwin下如何运行crontab定时脚本?

1. 安装cron服务(如果不能启动,使用管理员身份运行cygwin) cygrunsrv -I cron -p /usr/sbin/cron -a -D -I 是安装 cron是服务名 -p /usr/sbin/cron 是指定服务程序的目录 -a 后跟运行服务时需要添加的参数,这里运行服务的命令是 /usr/sbin/cron -D 2. 启动服务(如果无法启动,直接输入/usr/sbin/cron启动服务) cygrunsrv -S cron cron是在第1步中设置的服务名称 3. 添加

在Mac下使用crontab执行定时脚本

基本设置命令 在终端里输入: sudo crontab -e 查看定时任务 crontab -l 删除定时任务 crontab -r 如果无法使用定时任务crontab 解决方法: sudo vim ~/.vimrc 添加如下内容并保存 autocmd filetype crontab setlocal nobackup nowritebackup 设置定时任务的格式 格式(每行共列行): f1 f2 f3 f4 f5 program 分 时 日 月 周 执行程序 第1列分钟1-59 第2列小时

为服务器添加定时脚本+备份数据库

首先crontab -l 查看已有的时程表,能够展示当前的定时任务有哪些 编写脚本: #!/bin/bash HOST:127.0.0.1 User=root PW=mima DATETIME=$(date +%Y_%m_%d_%H%M%S) echo "执行日期:" + ${DATETIME} echo "开始执行清理8小时前binlog"mysql -u$User -p$PW <<EOF PURGE MASTER LOGS BEFORE DATE_S

mysql定时脚本(event),类似oracle的job

我有2张表:tb_push_data 和 tb_push_data_log 现在需要每隔一段时间将tb_push_data 符合条件的 数据备份到表 tb_push_data_log www.2cto.com -------------------------------------------------------------------------- 一.创建存储过程 DELIMITER $$ USE `push_server_db`$$ DROP PROCEDURE IF EXISTS

记一次脚本引用django环境

用django1.7.4写了一个小工程,里面有一个脱离于django的脚本,去利用API爬一些数据放到数据库里,需要引用自己定义的models.网上查找了半天终于找到了解决方法. import sys,os grandfather_path=os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) sys.path.append(grandfather_path) os.environ.setde

备份脚本及定时自动执行

1.首先自己建一个目录,我建的目录路径为/root/bak/bakmysql 建立目录步骤: cd /root(切换路径到root目录下)→mkdir bak(新建名称为bak的文件夹)→cd bak(进入bak目录下)→mkdir bakmysql(新建名为bakmysql的文件夹) 2.写备份脚本 #!/bin/bash ## 定义变量back_dir=/root/bak/bakmysqldate=$(date +%Y%m%d%H%M) ## 进入备份目录cd $back_direcho "