1. 程式人生 > >win7中使用django-celery定時任務配置

win7中使用django-celery定時任務配置

1. 使用RabbitMQ 代理(broker)在客戶端和工作執行者之間進行互動

http://www.rabbitmq.com/install-windows.html

安裝RabbitMQ 必須先下載安裝了erlang 才可以安裝RabbitMQ

2.使用pip安裝:

pip install kombu
pip install celery

pip install django-celery

一般選擇安裝了celery會一起安裝其他包,不用管其他的包,celery 的版本。celery4.0開始celery beat定時需要單獨安裝,

celery3.x.x則不需要重新安裝celery-beat,直接可以使用,

3.配置

首先在setting中匯入

import djcelery

app配置中加入djcelery,

在setting 底部加入

CELERYBEAT_SCHEDULER = 'djcelery.schedulers.DatabaseScheduler'
djcelery.setup_loader()
BROKER_URL = 'amqp://[email protected]//'
BROKER_POOL_LIMIT = 0
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
BROKER_TRANSPORT_OPTIONS = {'visibility_timeout'
: 28800}

4.在setting所在的目錄下新建celery.py檔案加入程式碼:

from __future__ import absolute_import

import os
from django.conf import settings
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'web_cgcontrol.settings')


app = Celery('web_cgcontrol')
app.config_from_object('django.conf:settings'
) app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))

5.setting所在的目錄下,根__init__.py檔案下加入:

from .celery import app as celery_app

注:如果使用mysql,那麼其中的檔案為:

from .celery import app as celery_app
import pymysql

pymysql.install_as_MySQLdb()

6.編寫tasks.py。必須是tasks的名字:

@shared_task(track_started=True)
def get_state(url):
    state = requests.get(url, allow_redirects=False).status_code
return state

獲取網頁的狀態碼為例

使用python manage.py makemigrations,和 python manage.py migrate遷移資料庫,則建立了djcelery的很多表,

新增定時任務即可定時獲取網頁狀態碼

相關推薦

win7使用django-celery定時任務配置

1. 使用RabbitMQ 代理(broker)在客戶端和工作執行者之間進行互動http://www.rabbitmq.com/install-windows.html安裝RabbitMQ 必須先下載安裝了erlang 才可以安裝RabbitMQ 2.使用pip安裝:pip

Bamboo Django Celery定時任務和時間設定

1、Celery加入定時任務 Celery除了可以非同步執行任務之外,還可以定時執行任務。在例項程式碼的基礎上寫個測試方法: 1 #coding:utf-8 2 from celery.task.schedules import crontab 3 from celery.

django-celery定時任務以及非同步任務and伺服器部署並且執行全部過程

Celery 應用Celery之前,我想大家都已經瞭解了,什麼是Celery,Celery可以做什麼,等等一些關於Celery的問題,在這裡我就不一一解釋了。 應用之前,要確保環境中添加了Celery包。 pip install celery pip install dajngo-celery

django專案使用crontab定時任務

使用pip 安裝 django  我使用的是django 1.11.11 版本 pip install django==1.11.11 建立django專案   django-admin startproject project-name 建立django應用

django使用celery定時任務,使用redis和supervisor。

前言 在django專案中,使用celery非同步執行任務,以及建立定時任務。 使用redis作為中介軟體,用supervisor管理程序。 Begin 當前路徑 建立虛擬環境 virtualenv win 進入

django運行定時任務腳本

後臺 模塊 執行 dsc register pre stat pps 實現 需要使用到django_apscheduler模塊,因此先安裝: pip install django-apscheduler 然後在工程的settings.py文件中的INSTALLED_APP

linux添加定時任務,定時導出mysql數據庫的數據.

指定 clas ref pla 數據導出 tmp target local ase 1.crontab -e #編輯屬於當前用戶的定時任務. 2.編輯:按鍵i:編寫任務如:*/1 * * * * /usr/local/hy_mysql/bi

mysql定時任務配置

通過 start mysq tro 註釋 否則 執行 存儲過程 time 做項目有時會遇到一些狀態需要每天定時去維護,我的方案是寫成sql語句或者存儲過程,再配置mysql調度器讓數據庫每天去執行。廢話不多說,直接進去正文: 假如當前時間是2016-12-28 12:05:

springCloud定時任務配置

springcloud定時任務配置編寫java業務代碼,需要在類聲明上邊添加@Component註解,並在需要定時任務執行的方法聲明上添加@Scheduled(cron = "0/5 * * * * ?")註解以及相關的參數package com.gf.test.core.schedule

ecstore 定時任務配置

pad ron isp imp sso col b2c crond div [php] view plain copy*/5 */1 * * * /data/html/ecstore/script/queue/queue.sh /usr/bin/php >/dev/n

python的輕量級定時任務調度庫:schedule

min nbsp 就會 threading 簡單 多線程 保持 一是 設置 提到定時任務調度的時候,相信很多人會想到celery,要麽就寫個腳本塞到crontab中。不過,一個小的定時腳本,要用celery的話太“重”了。所以,我找到了一個輕量級的定時任務調度的庫:sche

定時任務配置

技術分享 郵件 com inf nbsp mage alt image 分鐘 每周1 3 5 上午10點發郵件 每隔X分鐘發送郵件 定時任務配置

MySQL的事件/定時任務

class mysq int 提醒 保持 add span 任務 minute 轉載自:http://www.cnblogs.com/chenpi/p/5137310.html 什麽是事件 一組SQL集,用來執行定時任務,跟觸發器很像,都是被動執行的,事件是因為時間到了觸發

Android如何實現定時任務

定時任務有3種方法,參考了原文章 https://www.cnblogs.com/Im-Victor/p/7457027.html 採用Handler與執行緒的sleep(long )方法(不建議使用,Java的實現方式) 採用Handler的postDelayed

pgsql使用積累系列_pg資料庫定時任務配置

1. 安裝postgresql(10.1) 參考連結:postgresql10安裝 2. 安裝服務端pgadmin4 在postgresql10版本中 pgadmin4  yum源已經包含在postgresql資料庫安裝的yum源中,不需要再另行處理 直接安裝 yu

django crontab 定時任務

分 時 日 月 周 命令(最好用絕對路徑)比如: * * * * * rm -fr /mnt/* //每分鐘執行一次對/mnt目錄下檔案的刪除*/2 * * * * rm -fr /mnt/* //每隔兩分鐘執行一次*/2 08-17 1,15 3-5 3 rm -fr /mnt/* //在3-5月的每週三的

利用Apache PropertiesConfiguration實現spring 定時任務配置的及時重新整理

import java.util.Date; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.Propertie

Linux的Crontab定時任務詳解

crontab介紹 在日常的專案開發中,我們有時候會需要定時的執行一些人物,比如資料庫備份,或者你的專案中的某個指令碼需要定期定時的去執行等等。那麼這些需求都可以所使用linux中crontab定時任務來完成。 Crontab: 用於設定週期性被執行的指令 該命令

django-crontab 定時任務

定時任務 對於首頁的靜態化,考慮到頁面的資料可能由多名運營人員維護,並且經常變動,所以將其做成定時任務,即定時執行靜態化。 在Django執行定時任務,可以通過django-crontab擴充套件來實現。 1. 安裝 pip install django-c

shell的crontab定時任務

一、crontab簡介: crond是linux下用來週期性的執行某種任務或等待處理某些事件的一個守護程序,與windows下的計劃任務類似,當安裝完成作業系統後,預設會安裝此服務工具,並且會自動啟動crond程序,crond程序每分鐘會定期檢查是否有要執行的任務,如果有要執行的任務,則自動