2016-03-28 10 views
0
Sadece piton, üzerinde programlamak başlayan ve yazdığı bu kodu

Ben http dinleyebilir nasıl db bağlanma ve simultaniusly

from bottle import route, run, template 
import pymongo 
from pymongo import MongoClient 


connection = MongoClient('localhost', 27017) 
db = connection.tongler 

@route('/hello/<name>') 
def index(name): 
    return template("Hello {{name}}", name=name) 

run(host='localhost', port=8888) 

print db 

ama nesne db yazdırmak am

sadece 8888 dinleyici sonlandırma sonra http isteği beklerken http sunucusu sonlandırmasını beklemeden diğer işlemleri yapar ve gerçekleştirir? Bu nasıl yapılır?

+0

ne gibi faaliyetleri yapmak istiyorsun? –

+1

Normal olarak, işleri birbirinden bağımsız olarak yapmanız gerekiyorsa, iş parçacığı veya işlemleri kullanmanız gerekir. Bazen bir tür işbirlikçi çoklu iş parçacığı da kullanabilirsiniz, ancak şişe çalıştırma yönteminin bu şekilde uygulanıp uygulanmadığını bilmiyorum (muhtemelen değil). –

cevap

1

Bu dosyayı çalıştırdığınızda, yürütülecek ilk komut, uygulamanın kalanını kapatılıncaya kadar engellenecek bir işlem başlatılan run yöntem çağrısıdır.

Veritabanını kullanmak için, veritabanı işlemlerinizi, bir isteğin sonucu olarak veya run yöntem çağrısı öncesinde bir yerlerde gerçekleştirmeniz gerekir.

Örneğin, bu veritabanındaki kayıtları göstermek istiyorum diyelim, sen böyle yapmak olabilir:

@route('/records/<id>') 
def show_records(id=None): 
    results = db.mycollection.find_one({'id': id}) 
    return template('Record: {{record}}', record=results)