導航:首頁 > 板塊資金 > celery非同步獲取股票信息

celery非同步獲取股票信息

發布時間:2022-08-02 04:59:18

㈠ flask非同步數據交換celery的使用

初始化celery

celery = Celery('celery_demo', broker=app.config.get('CELERY_BROKER_URL'),backend=app.config.get('CELERY_BACKEND_URL'))

在需要非同步執行的方法上使用@celery.task裝飾器

@celery.task

def add(a,b):

return a+b

在方法調用時,需要使用fun.delay(args)

add.delay(1,2)

celery啟動

celery -A apps.celery worker -l info --concurrency=3網頁鏈接

㈡ 如何獲取實時的股票行情信息,有相關的公用介面或者數據源嗎

實時股票數據介面

股票數據的獲取目前有如下兩種方法可以獲取:
1.
http/javascript介面取數據
2.
web-service介面
1.http/javascript介面取數據
1.1Sina股票數據介面
以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪問新浪的股票數據
介面:
http://hq.sinajs.cn/list=sh601006
這個url會返回一串文本,例如:
var
hq_str_sh601006="大秦鐵路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91,
26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700,
26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93,
14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11,
15:05:32";
這個字元串由許多數據拼接在一起,不同含義的數據用逗號隔開了,按照程序員的思路,順序號從0開始。
0:」大秦鐵路」,股票名字;
1:」27.55″,今日開盤價;
2:」27.25″,昨日收盤價;
3:」26.91″,當前價格;
4:」27.55″,今日最高價;
5:」26.20″,今日最低價;
6:」26.91″,競買價,即「買一」報價;
7:」26.92″,競賣價,即「賣一」報價;
8:」22114263″,成交的股票數,由於股票交易以一百股為基本單位,所以在使用時,通常把該值除以一百;
9:」589824680″,成交金額,單位為「元」,為了一目瞭然,通常以「萬元」為成交金額的單位,所以通常把該值除以一萬;
10:」4695″,「買一」申請4695股,即47手;
11:」26.91″,「買一」報價;
12:」57590″,「買二」
13:」26.90″,「買二」
14:」14700″,「買三」
15:」26.89″,「買三」
16:」14300″,「買四」
17:」26.88″,「買四」
18:」15100″,「買五」
19:」26.87″,「買五」
20:」3100″,「賣一」申報3100股,即31手;
21:」26.92″,「賣一」報價
(22,
23), (24, 25), (26,27), (28,
29)分別為「賣二」至「賣四的情況」
30:」2008-01-11″,日期;
31:」15:05:32″,時間;
一個簡單的JavaScript應用例子:
script
type="text/javascript" src="http://hq.sinajs.cn/list=sh601006"
charset="gb2312">/script>
/javascript">
var
elements=hq_str_sh601006.split(",");
document.write("current
price:"+elements[3]);
這段代碼輸出大秦鐵路(股票代碼:601006)的當前股價
current
price:14.20
如果你要同時查詢多個股票,那麼在URL最後加上一個逗號,再加上股票代碼就可以了;比如你要一次查詢大秦鐵路(601006)和大同煤業(601001)的行情,就這樣使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001
查詢大盤指數,比如查詢上證綜合指數(000001):
http://hq.sinajs.cn/list=s_sh000001
伺服器返回的數據為:
var
hq_str_s_sh000001="上證指數,3094.668,-128.073,-3.97,436653,5458126";
數據含義分別為:指數名稱,當前點數,當前價格,漲跌率,成交量(手),成交額(萬元);
查詢深圳成指數:
http://hq.sinajs.cn/list=s_sz399001
對於股票的K線圖,日線圖等的獲取可以通過請求http://image.sinajs.cn/…./…/*.gif此URL獲取,其中*代表股票代碼,詳見如下:
查看日K線圖:
http://image.sinajs.cn/newchart/daily/n/sh601006.gif

分時線的查詢:
http://image.sinajs.cn/newchart/min/n/sh000001.gif

日K線查詢:
http://image.sinajs.cn/newchart/daily/n/sh000001.gif

周K線查詢:
http://image.sinajs.cn/newchart/weekly/n/sh000001.gif

月K線查詢:
http://image.sinajs.cn/newchart/monthly/n/sh000001.gif

1.2
Bai&Google的財經數據
在,
google中搜索某隻股票代碼時,將會在頭條顯示此股票的相關信息,例如在google搜索601006時,
第一條搜索結果如下圖:
通過點擊左邊的圖片我們發現會將此圖片鏈接到sina財經頻道上,也就是說google股票數據的獲取也是從sina獲取。後經抓包分析,發現google也是採用1.1中介紹的介面。
Bai的股票數據來自的財經頻道
http://stock..com/
1.3
其他方式
除了sina,等網站提供股票信息外,其他網站也有類似的介面。我們分析了一款論壇上採用的股票插件,
其中有關於實時股票數據獲取的介紹,詳見如下代碼,其中可以看到有些數據來自sina。
以下是ASP示例:
=5
then
stockdata=gethttp("http://hq.sinajs.cn/list=sh"&code&"")
if
not len(stockdata)=0 then
stockdata=split(stockdata,chr(34))(1)
end if
if
len(stockdata)=0
then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0"
else
stockdatasplit=split(stockdata,",")
stockdata=""&exstock.checkstr(stockdatasplit(0))&","&stockdatasplit(1)&","&stockdatasplit(2)&","&stockdatasplit(3)&","&stockdatasplit(4)&","&stockdatasplit(5)&","&formatdatetime(""&stockdatasplit(30)&"
"&stockdatasplit(31)&"",0)&""
end
if
『0=股票名稱,1=開盤價格,2=昨收盤價格,3=當前價格,4=最高價,5=最低價,6=更新時間
getstockdata=stockdata
end
function
function getstockimg(code)
dim
rndnum,addnum,checkcode,imgsource
if len(code)=5
then
getstockimg="http://image.sinajs.cn/newchart/daily/n/sh"&code&".gif"
end
if
imgsource="http://finance.sina.com.cn"
case
3
getstockimg="http://hq.gazxfe.com/stockchart/realline.chart?"&code&"&1003&SZ
500 330"
imgsource="http://hq.gazxfe.com"
case
4
getstockimg="http://chartse.stockstar.com/chartserver?code="&code&""
imgsource="http://www.stockstar.com/"
end
select
getstockimg=split(""&getstockimg&"||"&imgsource&"","||")
end
function
function getastockimg()
dim
rndnum,addnum,checkcode
dim
getastockimgb,imgsource
addnum=6
randomize:rndnum=cint(rnd*addnum)
select
case rndnum
case
0
getastockimg="http://202.109.106.1/gifchartse/gif/000001.gif"
getastockimgb="http://202.109.106.1/gifchartse/gif/399001.gif"
imgsource="http://www.stockstar.com/"
case
1
getastockimg="http://money.163.com/special/100.gif?C39"
getastockimgb="http://money.163.com/special/101.gif?HrS"
imgsource="http://www.163.com"
case
2
getastockimg="http://www.10jqka.com.cn/curve/realtime/index2.php?code=1a0001&w=180&h=140"
getastockimgb="http://www.10jqka.com.cn/curve/realtime/index2.php?code=399001&w=180&h=140"
imgsource="http://www.10jqka.com.cn"
case
3
getastockimg="http://chart.cnlist.com/stockchart/realline.chart?1a0001&1002&SZ
180
140"
getastockimgb="http://chart.cnlist.com/stockchart/realline.chart?399001&1002&SZ
180
140"
imgsource="http://chart.cnlist.com/"
case
4
getastockimg="http://image.sinajs.cn/newchart/small/ish000001.gif?1189176558328"
getastockimgb="http://image.sinajs.cn/newchart/small/isz399001.gif?1189176558328"
imgsource="http://www.sinajs.cn"
case
5
getastockimg="http://218.1.72.66/cgi/pic/sh/realtime/JA000001164143.png"
getastockimgb="http://218.1.72.66/cgi/pic/sz/realtime/JA399001164143.png"
imgsource="http://www.cnstock.com/"
case
6
getastockimg="http://222.73.29.85/img/000001.png"
getastockimgb="http://222.73.29.85/img/399001.png"
imgsource="http://www.eastmoney.com/"
end
select
getastockimg=split(""&getastockimg&"||"&getastockimgb&"||"&imgsource&"","||")
end
function
%>
2.
web-service介面
2.1 CHINAstock的web-service:
http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx
中國股票行情數據
WEB 服務(支持深圳和上海股市的全部基金、債券和股票),數據即時更新。輸出GIF分時走勢圖、日/周/月 K
線圖、及時行情數據(股票名稱、行情時間、最新價、昨收盤、今開盤、漲跌額、最低、最高、漲跌幅、成交量、成交額、競買價、競賣價、委比、買一 - 買五、賣一 -
賣五)。此WEB服務提供了如下幾個介面:
2.1.1
getStockImageByCode
GET
股票GIF分時走勢圖
INput:theStockCode =
股票代號,如:sh000001
POST /WebServices/ChinaStockWebService.asmx
HTTP/1.1
Host: www.webxml.com.cn
Content-Type:
text/xml; charset=utf-8
Content-Length:
length
SOAPAction:
"http://WebXml.com.cn/getStockImageByCode"

string

Output:
2.1.2
getStockImageByteByCode
獲得中國股票GIF分時走勢圖位元組數組
INput:theStockCode
= 股票代號,如:sh000001
POST /WebServices/ChinaStockWebService.asmx
HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml;
charset=utf-8Content-Length: lengthSOAPAction:
"http://WebXml.com.cn/getStockImageByteByCode"
string
返回的數據如下:
hkMyt4m4VkJtstbv8A
2.1.3
getStockImage_kByCode
直接獲得中國股票GIF日/周/月 K
線圖(545*300pixel/72dpi)
INPUT: theStockCode =
股票代號
theType = K 線圖類型(D:日[默認]、W:周、M:月),
POST
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByCode" string
string
比如按照下圖所示輸入:
返回的結果就是周K線圖:
2.1.4
getStockImage_kByteByCode
獲得中國股票GIF日/周/月 K
線圖位元組數組
Input:theStockCode = 股票代號,如:sh000001
POST
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByteByCode" string string
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length
base64Binary
比如按照下圖輸入:
返回的結果就是周K線圖位元組數組
hkMyt4m4VkJtstbv8A
2.1.5
getStockInfoByCode
獲得中國股票及時行情
input:theStockCode
= 股票代號
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockInfoByCode"
string
返回的值一個一維字元串數組
String(24),結構為:String(0)股票代號、String(1)股票名稱、String(2)行情時間、String(3)最新價(元)、String(4)昨收盤(元)、String(5)今開盤(元)、String(6)漲跌額(元)、String(7)最低(元)、String(8)最高(元)、String(9)漲跌幅(%)、String(10)成交量(手)、String(11)成交額(萬元)、String(12)競買價(元)、String(13)競賣價(元)、String(14)委比(%)、String(15)-String(19)買一
- 買五(元)/手、String(20)-String(24)賣一 - 賣五(元)/手。
Web
service的方法類似於現在concurrent項目的DBWS數據的獲取,都是通過SOAP協議向DBWS伺服器獲取相關的數據。
利用雅虎查中國股票
http://quote.yahoo.com/d/quotes.csv?s=MSFT&f=slc1wop
返回微軟的股票價格
"MSFT","4:00pm
- 30.70",+1.04,"21.46 -
30.75",29.77,29.66
http://quote.yahoo.com/d/quotes.csv?s=000969.SZ&f=slc1wop
這個返回安泰科技的,一般有半個小時的延遲。
但是s=000969.sz
這個後面的sz是深圳的意思, 滬市是SS後綴

㈢ python 使用celery為了解決什麼業務問題

Celery是一個專注於實時處理和任務調度的分布式任務隊列。所謂任務就是消息,消息中的有效載荷中包含要執行任務需要的全部數據。

使用Celery的常見場景如下:
1. Web應用。當用戶觸發的一個操作需要較長時間才能執行完成時,可以把它作為任務交給Celery去非同步執行,執行完再返回給用戶。這段時間用戶不需要等待,提高了網站的整體吞吐量和響應時間。
2. 定時任務。生產環境經常會跑一些定時任務。假如你有上千台的伺服器、上千種任務,定時任務的管理很困難,Celery可以幫助我們快速在不同的機器設定不同種任務。
3. 同步完成的附加工作都可以非同步完成。比如發送簡訊/郵件、推送消息、清理/設置緩存等。
Celery還提供了如下的特性:
1. 方便地查看定時任務的執行情況,比如執行是否成功、當前狀態、執行任務花費的時間等。
2. 可以使用功能齊備的管理後台或者命令行添加、更新、刪除任務。
3. 方便把任務和配置管理相關聯。
4. 可選多進程、Eventlet和Gevent三種模式並發執行。
5. 提供錯誤處理機制。
- 提供多種任務原語,方便實現任務分組、拆分和調用鏈。
- 支持多種消息代理和存儲後端。

㈣ 如何利用一些 finance 資料庫 api 批量獲取股票信息

1、通過API獲取實時數據請求地址http://finance.yahoo.com/d/quotes.csv?s=&f=參數s–表示股票名稱,多個股票之間使用英文加號分隔,如」XOM+BBDb.TO+JNJ+MSFT」,羅列了四個公司的股票:XOM,BBDb.TO,JNJ,MSFT。f–表示返回數據列,如」snd

㈤ 如何使用django+celery+RabbitMQ實現非同步執行

1)
安裝
需要安裝RabbitMQ、Celery和Django-celery
Celery和Django-celery的安裝直接pip就好

2)
修改settings.py
在INSTALLED_APPS中加入app:
INSTALLED_APPS = (
...
'djcelery',
'main', # startapp
}

3)
添加RabbitMQ的配置:
import djcelery
djcelery.setup_loader()

BROKER_URL = 'amqp://guest:guest@localhost:5672/'

#或者
#BROKER_HOST = "localhost"
#BROKER_PORT = 5672
#BROKER_USER = "guest"
#BROKER_PASSWORD = "guest"
#BROKER_VHOST = "/"

4)
創建資料庫
$ python manage.py syncdb #default
$ python manage.py migrate djcelery #for south

5)
定義和調用tasks
在app(main)目錄下新建文件tasks.py
from celery import task

@task()
def add(x, y):
return x + y

6)
開啟worker:
$ python manage.py celery worker --loglevel=info
$ #OR
$ python manage.py celeryd -l info --settings=settings

7)
調用任務:
$ python manage.py shell
In [1]: from main.tasks import add

In [2]: a=add.delay(1,1)

In [3]: a.ready() #worker未開啟
Out[3]: False

In [4]: a=add.delay(1,1) #開啟worker,重新執行

In [5]: a.ready()
Out[5]: True

In [9]: a.get() #Waits until the task is done and returns the retval.
Out[9]: 2

In [10]: a.successful()
Out[10]: True

8)運行index:$ python app.py 8000 ,運行celery:$ python manage.py celeryd -l info --settings=settings

㈥ celery python 好用嗎

為什麼要使用celery
Celery是一個使用Python開發的分布式任務調度模塊,因此對於大量使用Python構建的系統,可以說是無縫銜接,使用起來很方便。Celery專注於實時處理任務,同時也支持任務的定時調度。因此適合實時非同步任務定時任務等調度場景。Celery需要依靠RabbitMQ等作為消息代理,同時也支持Redis甚至是Mysql,Mongo等,當然,官方默認推薦的是RabbitMQ。
broker的選擇
雖然官方支持的broker有很多,包括RabbitMQ,Redis甚至是資料庫,但是不推薦使用資料庫,因為資料庫需要不斷訪問磁碟,當你的任務量大了之後會造成很嚴重的性能問題,同時你的應用很可能也在使用同一個資料庫,這樣可能導致你的應用被拖垮。如果業務環境比較簡單可以選擇Redis,如果比較復雜選擇RabbitMQ,因為RabbitMQ是官方推薦的,但是比Redis操作起來又相對復雜些。我的選擇是broker用RabbitMQ,backend用Redis
希望能幫到你!

㈦ C#如何獲得股票軟體上的個股行情數據

所有的股市數據都是免費對接的, 介面如果對應的是違法的,那麼會附有法律責任,所有一般都不會給私下對接,目前卡的非常的嚴 !

㈧ Django中怎麼使用django-celery完成非同步任務

許多Django應用需要執行非同步任務, 以便不耽誤http request的執行. 我們也可以選擇許多方法來完成非同步任務, 使用Celery是一個比較好的選擇, 因為Celery

有著大量的社區支持, 能夠完美的擴展, 和Django結合的也很好. Celery不僅能在Django中使用, 還能在其他地方被大量的使用. 因此一旦學會使用Celery, 我

們可以很方便的在其他項目中使用它.

1. Celery版本

本篇博文主要針對Celery 3.0.x. 早期版本的Celery可能有細微的差別.

2. Celery介紹

Celery的主要用處是執行非同步任務, 可以選擇延期或定時執行功能. 為什麼需要執行非同步任務呢?

第一, 假設用戶正發起一個request, 並等待request完成後返回. 在這一request後面的view功能中, 我們可能需要執行一段花費很長時間的程序任務, 這一時間

可能遠遠大於用戶能忍受的范圍. 當這一任務並不需要立刻執行時, 我們便可以使用Celery在後台執行, 而不影響用戶瀏覽網頁. 當有任務需要訪問遠程伺服器完

成時, 我們往往都無法確定需要花費的時間.

第二則是定期執行某些任務. 比如每小時需要檢查一下天氣預報, 然後將數據儲存到資料庫中. 我們可以編寫這一任務, 然後讓Celery每小時執行一次. 這樣我們

的web應用便能獲取最新的天氣預報信息.

我們這里所講的任務task, 就是一個Python功能(function). 定期執行一個任務可以被認為是延時執行該功能. 我們可以使用Celery延遲5分鍾調用function

task1, 並傳入參數(1, 2, 3). 或者我們也可以每天午夜運行該function.

我們偏向於將Celery放入項目中, 便於task訪問統一資料庫和Django設置.

當task准備運行時, Celery會將其放入列隊queue中. queue中儲存著可以運行的task的list. 我們可以使用多個queue, 但為了簡單, 這里我們只使用一個.

將任務task放入queue就像加入todo list一樣. 為了使task運行, 我們還需要在其他線程中運行的苦工worker. worker實時觀察著代運行的task, 並逐一運行這

些task. 你可以使用多個worker, 通常他們位於不同伺服器上. 同樣為了簡單起見, 我們這只是用一個worker.

我們稍後會討論queue, worker和另外一個十分重要的進程, 接下來我們來動動手:

3. 安裝Celery

我們可以使用pip在vietualenv中安裝:

pip install django-celery

4. Django設置

我們暫時使用django runserver來啟動celery. 而Celery代理人(broker), 我們使用Django database broker implementation. 現在我們只需要知道Celery

需要broker, 使用django自身便可以充當broker. (但在部署時, 我們最好使用更穩定和高效的broker, 例如Redis.)

在settings.py中:

import djcelery
djcelery.setup_loader()
BROKER_URL = 'django://'
...
INSTALLED_APPS = (
...
'djcelery',
'kombu.transport.django',
...
)

第一二項是必須的, 第三項則告訴Celery使用Django項目作為broker.

在INSTALLED_APPS中添加的djcelery是必須的. kombu.transport.django則是基於Django的broker

最後創建Celery所需的數據表, 如果使用South作為數據遷移工具, 則運行:

python manage.py migrate

否則運行: (Django 1.6或Django 1.7都可以)

python manage.py syncdb

5. 創建一個task

正如前面所說的, 一個task就是一個Pyhton function. 但Celery需要知道這一function是task, 因此我們可以使用celery自帶的裝飾器decorator: @task. 在

django app目錄中創建taske.py:

from celery import task

@task()
def add(x, y):
return x + y

當settings.py中的djcelery.setup_loader()運行時, Celery便會查看所有INSTALLED_APPS中app目錄中的tasks.py文件, 找到標記為task的function, 並

將它們注冊為celery task.

將function標注為task並不會妨礙他們的正常執行. 你還是可以像平時那樣調用它: z = add(1, 2).

6. 執行task

讓我們以一個簡單的例子作為開始. 例如我們希望在用戶發出request後非同步執行該task, 馬上返回response, 從而不阻塞該request, 使用戶有一個流暢的訪問

過程. 那麼, 我們可以使用.delay, 例如在在views.py的一個view中:

from myapp.tasks import add
...
add.delay(2, 2)
...

Celery會將task加入到queue中, 並馬上返回. 而在一旁待命的worker看到該task後, 便會按照設定執行它, 並將他從queue中移除. 而worker則會執行以下代

碼:

import myapp.tasks.add

myapp.tasks.add(2, 2)

7. 關於import

這里需要注意的是, 在impprt task時, 需要保持一致. 因為在執行djcelery.setup_loader()時, task是以INSTALLED_APPS中的app名,

加.tasks.function_name注冊的, 如果我們由於python path不同而使用不同的引用方式時(例如在tasks.py中使用from myproject.myapp.tasks import

add形式), Celery將無法得知這是同一task, 因此可能會引起奇怪的bug.

8. 測試

a. 啟動worker

正如之前說到的, 我們需要worker來執行task. 以下是在開發環境中的如何啟動worker:

首先啟動terminal, 如同開發django項目一樣, 激活virtualenv, 切換到django項目目錄. 然後啟動django自帶web伺服器: python manage.py runserver.

然後啟動worker:

python manage.py celery worker --loglevel=info

此時, worker將會在該terminal中運行, 並顯示輸出結果.

b. 啟動task

打開新的terminal, 激活virtualenv, 並切換到django項目目錄:

$ python manage.py shell
>>> from myapp.tasks import add
>>> add.delay(2, 2)

此時, 你可以在worker窗口中看到worker執行該task:

[2014-10-07 08:47:08,076: INFO/MainProcess] Got task from broker: myapp.tasks.add[e080e047-b2a2-43a7-af74-d7d9d98b02fc]
[2014-10-07 08:47:08,299: INFO/MainProcess] Task myapp.tasks.add[e080e047-b2a2-43a7-af74-d7d9d98b02fc] succeeded in 0.183349132538s: 4

9. 另一個例子

下面我們來看一個更為真實的例子, 在views.py和tasks.py中:

# views.py
from myapp.tasks import do_something_with_form_data

def view(request):
form = SomeForm(request.POST)
if form.is_valid():
data = form.cleaned_data
# Schele a task to process the data later
do_something_with_form_data.delay(data)
return render_to_response(...)
# tasks.py

@task
def do_something_with_form_data(data):
call_slow_web_service(data['user'], data['text'], ...)

10. 調試

由於Celery的運行需要啟動多個部件, 我們可能會漏掉一兩個. 所以我們建議:

使用最簡單的設置
使用python debug和logging功能顯示當前的進程

11. Eager模式

如果在settings.py設置:

CELERY_ALWAYS_EAGER = True

那麼Celery便以eager模式運行, 則task便不需要加delay運行:
# 若啟用eager模式, 則以下兩行代碼相同

add.delay(2, 2)
add(2, 2)

12. 查看queue

因為我們使用了django作為broker, queue儲存在django的資料庫中. 這就意味著我們可以通過django admin查看該queue:

# admin.py
from django.contrib import admin
from kombu.transport.django import models as kombu_models

admin.site.register(kombu_models.Message)

13. 檢查結果

每次運行非同步task後, Celery都會返回AsyncResult對象作為結果. 你可以將其保存, 然後在將來查看該task是否運行成功和返回結果:

# views.py

result = add.delay(2, 2)
...
if result.ready():
print "Task has run"
if result.successful():
print "Result was: %s" % result.result
else:
if isinstance(result.result, Exception):
print "Task failed e to raising an exception"
raise result.result
else:
print "Task failed without raising exception"
else:
print "Task has not yet run"

14. 定期任務

還有一種Celery的常用模式便是執行定期任務. 執行定期任務時, Celery會通過celerybeat進程來完成. Celerybeat會保持運行, 一旦到了某一定期任務需要執

行時, Celerybeat便將其加入到queue中. 不像worker進程, Celerybeat只有需要一個即可.

啟動Celerybeat:

python manage.py celery beat

使Celery運行定期任務的方式有很多種, 我們先看第一種, 將定期任務儲存在django資料庫中. 即使是在django和celery都運行的狀態, 這一方式也可以讓我們

方便的修改定期任務. 我們只需要設置settings.py中的一項便能開啟這一方式:

# settings.py
CELERYBEAT_SCHEDULER = 'djcelery.schelers.DatabaseScheler'

㈨ 怎樣用Android程序獲取滬深所有股票代碼及基本信息並存入SQLite資料庫

使用WDZ程序即可,這個程序可導出滬深股票數據為txt、csv、sql格式。也可輸出代碼表。

如果需要實時的,可以使用他們的 wstock金融API介面

㈩ java 如何實現 獲取實時股票數據

一般有三種方式:

  1. 網頁爬蟲。採用爬蟲去爬取目標網頁的股票數據,去GitHub或技術論壇(如CSDN、51CTO)上找一下別人寫的爬蟲集成到項目中。

  2. 請求第三方API。會有專門的公司(例如網路API市場)提供股票數據,你只需要去購買他們的服務,使用他們提供的SDK,仿照demo開發實現即可。如下圖所示:

閱讀全文

與celery非同步獲取股票信息相關的資料

熱點內容
股票每股公積金和凈資產的差別 瀏覽:724
股票能量指標怎麼調出來 瀏覽:425
股票用現金買嗎 瀏覽:597
好股票網生命線指標 瀏覽:117
手機上怎麼看股票業績 瀏覽:193
中國最大樹脂廠股票號 瀏覽:154
推薦微信的股票軟體 瀏覽:644
露振科技股票行情 瀏覽:745
小窗口的股票軟體 瀏覽:896
重新開一個股票賬戶 瀏覽:125
國家隊持倉股票信息 瀏覽:109
股票回購方式中不需要支付大量現金的是 瀏覽:633
恆康醫葯股票走勢 瀏覽:1006
中國國債股票 瀏覽:445
股票很久沒漲停 瀏覽:110
股票看盤軟體教學視頻直播 瀏覽:117
中國銀聯股票有嗎 瀏覽:51
etf和普通股票一樣買賣嗎 瀏覽:26
搜於特股票今天走勢 瀏覽:896
煤炭價格上漲對煤股票的影響 瀏覽:905