小编Han*_*pan的帖子

Node.js - 监视数据库以进行更改

我正在使用node.js服务器在我的Web应用程序和数据库之间创建一个"接近实时"的套接字.目前我正在使用MySQL,我在节点中每秒轮询一次以检查表中是否有任何更改(基于时间戳).

我想知道是否有任何特定的技术可以用MySQL做这样的事情?目前,我正在运行SQL查询并在下次轮询之前使用setTimeout.

我知道在这样的实例中使用NoSQL数据库更常见,但我对这项技术并不熟悉,而且我更倾向于使用SQL.

有没有人有任何使用节点监控SQL数据库的经验或技巧?

node.js

12
推荐指数
1
解决办法
2万
查看次数

主管 - 运行python脚本PYTHONPATH问题

我正在使用supervisor来运行python脚本:

[program:twitter_track]
autorestart = true
numprocs = 1
autostart = false
redirect_stderr = True
stopwaitsecs = 1
startsecs = 1
priority = 99
command = python /home/ubuntu/services/twitter.py track
startretries = 3
stdout_logfile = /home/ubuntu/logs/twitter_track.log
Run Code Online (Sandbox Code Playgroud)

但这个过程无法启动.以下是错误日志的说明:

Traceback (most recent call last):
  File "/home/ubuntu/services/twitter.py", line 6, in <module>
    from mymodule.twitter.stream import TwitterStream
ImportError: No module named mymodule.twitter.stream
Traceback (most recent call last):
  File "/home/ubuntu/services/twitter.py", line 6, in <module>
Run Code Online (Sandbox Code Playgroud)

似乎获得mymodule,但如果我自己运行twitter.py,一切正常,它只会在我通过主管运行时抛出此错误.

我在我的〜/ .profile文件中将mymodule添加到PYTHONPATH中,如下所示:

export PYTHONPATH=$PYTHONPATH:/home/ubuntu/lib
Run Code Online (Sandbox Code Playgroud)

脚本在通过终端运行时是否有效,但在通过主管运行时是否有任何原因?任何帮助,将不胜感激.

supervisord

12
推荐指数
1
解决办法
1万
查看次数

使用MacPorts在Snow Leopard上安装MySQL

我正在尝试在Snow Leopard上安装MySQL5,但我遇到了一些麻烦.这是我的终端日志:

users-MacBook-Pro:~ sam$ sudo port install mysql5Password:
--->  Computing dependencies for mysql5
--->  Fetching mysql5
--->  Verifying checksum(s) for mysql5
--->  Extracting mysql5
--->  Applying patches to mysql5
--->  Configuring mysql5
--->  Building mysql5
--->  Staging mysql5 into destroot
--->  Installing mysql5 @5.1.53_0
The MySQL client has been installed.
If you also want a MySQL server, install the mysql5-server port.
--->  Activating mysql5 @5.1.53_0
--->  Cleaning mysql5
users-MacBook-Pro:~ sam$ sudo port install mysql5-server
Password:
--->  Computing dependencies for mysql5-server …
Run Code Online (Sandbox Code Playgroud)

mysql mysql5 osx-snow-leopard

11
推荐指数
1
解决办法
1万
查看次数

Angular - Logout重定向路由

我正在尝试创建一个清除用户会话并将其重定向回根主页的路由.

.config(function config( $routeProvider, $stateProvider ) {

    $routeProvider.
        when('/logout', {resolve: {redirect: function(Session){
            Session.clear();
            return "/home";
        }}});
Run Code Online (Sandbox Code Playgroud)

我在这里做错了,就像打电话一样

$location.path("/logout");
Run Code Online (Sandbox Code Playgroud)

...忽略该功能并重定向回默认路由.我已经尝试将console.log语句添加到函数中以查看它是否被调用.

我是否错误地使用了重定向功能?

angularjs

11
推荐指数
2
解决办法
4万
查看次数

Django - 基于父实例的内联字段值

我试图根据父窗体/实例的属性在内联中设置选择字段的默认值.

在伪代码中,它看起来像:

def get_form(self, ***):
   if self.parent.instance && self.parent.instance.field_x == "y":
      self.field_name.choices = ...
Run Code Online (Sandbox Code Playgroud)

我在Google上搜索过,但似乎无法找到任何有关在内联中引用父表单的信息.

也许我必须以相反的方式做到这一点,并从父母内部访问内联?

def get_form(self, ***):
   if self.instance:
      for inline in self.inlines:
          if instanceof(inline, MyInline):
             inline.field_name.choices = ...
Run Code Online (Sandbox Code Playgroud)

以上任何一种都可能吗?

django django-forms django-admin

11
推荐指数
1
解决办法
2287
查看次数

Django - 媒体上传[Errno 13]权限被拒绝

我在让django玩图片上传方面遇到了一些麻烦.我的脚本将根据日期创建目录,如下所示:

file = models.FileField(upload_to='uploads/%m-%Y/')
Run Code Online (Sandbox Code Playgroud)

现在,如果我在uploads文件夹中创建日期目录并将文件夹chmod到755,则上传工作正常,但如果我尝试chmod uploads文件夹而不创建过时的子文件夹(我需要django来做),我是获得权限错误.

如何创建文件夹以允许创建子文件夹?

这是一个追溯:

Django Version: 1.3
Python Version: 2.5.2
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.admin',
 'tagging',
 'mediamanager',
 'livesettings',
 'projects']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Traceback:
File "/var/lib/python-support/python2.5/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/var/lib/python-support/python2.5/django/utils/decorators.py" in _wrapped_view
  93.                     response = view_func(request, *args, **kwargs)
File "/var/lib/python-support/python2.5/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)
File "/var/www/enigma-dev/enigma/mediamanager/views.py" in upload_media
  24.           m.upload_media(data=form.cleaned_data, params=params)
File "/var/www/enigma-dev/enigma/mediamanager/models.py" in upload_media
  63.       self.save()
File "/var/lib/python-support/python2.5/django/db/models/base.py" in save
  460.         self.save_base(using=using, …
Run Code Online (Sandbox Code Playgroud)

django django-admin

10
推荐指数
2
解决办法
1万
查看次数

Web套接字/ Tornado - 在数据库更新时通知客户端

我正在尝试使用Tornado Web套接字服务器来实时更改数据库时通知我的用户.我希望使用HTML5网络套接字,即使大多数浏览器不支持它们.Tornado软件包附带的演示没有使用Web套接字,文档中没有提到它们,所以我不知道如何开始.我在谷歌上找到的几个例子要么不起作用,要么记录不清.

有没有人有任何关于如何在更新MySQL数据库时使用Tornado将数据推送到客户端的示例或我可以用来学习的类似内容?

python tornado websocket

10
推荐指数
2
解决办法
7296
查看次数

Django - 生成默认slug

我想为我的模型生成一个随机slug,但没有设置"blank = True"(因为我想稍后通过验证强制执行.)

我想知道我是否可以这样做:

slug = models.SlugField(unique=True, default=some_method(), verbose_name='URL Slug')
Run Code Online (Sandbox Code Playgroud)

some_method是一种产生随机slug的方法?我已经尝试了上面的代码,它不起作用:(

我想做的是生成一个独特的slug(unique_slugify?)

django django-models

9
推荐指数
3
解决办法
1万
查看次数

MongoDB - 带增量的Upsert

我正在尝试运行以下查询:

data = {
    'user_id':1,
    'text':'Lorem ipsum',
    '$inc':{'count':1}, 
    '$set':{'updated':datetime.now()},
}
self.db.collection('collection').update({'user_id':1}, data, upsert=True)
Run Code Online (Sandbox Code Playgroud)

但是两个'$'查询导致它失败.是否有可能在一个声明中这样做?

python mongodb pymongo

9
推荐指数
1
解决办法
9173
查看次数

uwsgi套接字权限

我在Ubuntu 12上运行的uwsgi遇到了一些权限问题.这是我的ini文件:

[uwsgi]
project = djangorpoject
base_dir = /home/mysite/mysite.com

uid = www-data
gid = www-data
plugins = http,python

processes = 4
harakiri = 60
reload-mercy = 8
cpu-affinity = 1
max-requests =  2000
limit-as = 512
reload-on-as = 256
reload-on-rss = 192
no-orphans = True
#vacuum = True
master = True

logto = /var/log/uwsgi/%n.log
#daemonize = /var/log/uwsgi/%n.log
#catch-exceptions
disable-logging

virtualenv = %(base_dir)/venv
chdir = %(base_dir)
module = %(project).wsgi:application

socket = /run/uwsgi/%n.sock
chmod-socket = 666
chown-socket = www-data:www-data
Run Code Online (Sandbox Code Playgroud)

如您所见,我在套接字文件上运行chmod和chown.当我尝试加载我的网站时,我收到以下错误:

bind(): Permission …
Run Code Online (Sandbox Code Playgroud)

uwsgi

8
推荐指数
1
解决办法
2万
查看次数