小编jon*_*tan的帖子

Node.js中的多线程?

我正在node.js中为Windows Azure项目实现socket.io.我必须定期向所有连接的客户端发送数据.

我是node.js的新手,但我想多线程是不可能的.socket.io的目的是支持实时应用程序,所以有没有什么方法可以定期向所有连接的客户端发送数据,还可以同时处理客户端发送到socket.io服务器的任何数据?

编辑:

这大致是我的socket.io实现

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.emit('first', "connected");

  socket.on('clientData', function (data) {
    //processing the data
  });
});

function requestQueue() {
// some processing
io.sockets.emit('broadcast', recordsQueue);
// should go to sleep for a time period
}
Run Code Online (Sandbox Code Playgroud)

本质上,我希望requestQueue方法像线程一样连续运行,该线程将以特定间隔向连接的客户端发送数据.而且如果客户端向"clientData"事件发送任何数据,那么我应该能够接收数据并对其进行处理.

关于我怎么做的任何想法?

谢谢

我的解决方案

 var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  socket.emit('first', "connected");

  socket.on('clientData', function (data) {
    //processing the data
  });
});

function requestQueue() {
var sleepTime = 0;

// calcuate sleepTime 

io.sockets.emit('broadcast', recordsQueue);

// should go …
Run Code Online (Sandbox Code Playgroud)

javascript multithreading azure node.js socket.io

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

Python 日志变量:插值还是格式?

使用 Python 记录变量的推荐方法logging是什么,为什么更好?

旧式插值:

apple = "green"
logger.debug("apple is %s", apple)
Run Code Online (Sandbox Code Playgroud)

或者

新风格 .format()

logger.debug("apple is {}".format(apple))
Run Code Online (Sandbox Code Playgroud)

我听说插值是首选的,因为它只评估要打印的字符串,但我还没有验证它是否真的很重要。

python logging

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

将鼠标悬停在按钮上时文本颜色发生变化

我试图在悬停时更改按钮内的文本颜色.

我可以让按钮本身改变颜色,但我希望按钮文本也改变颜色.

这是我目前的css:

button,
input.button,
a.button,
input[type="submit"] {
background:#2e77ae;
background: -moz-linear-gradient(top, #5590bd, #2e77ae);
background: -webkit-linear-gradient(top, #5590bd, #2e77ae);
background: -o-linear-gradient(top, #5590bd, #2e77ae);
background: -ms-linear-gradient(top, #5590bd, #2e77ae);
background: linear-gradient(top, #5590bd, #2e77ae);
border-color:#2e77ae;}

button:hover,
input.button:hover,
a.button:hover,
input[type="submit"]:hover{

    background:#E6D332;
    background: -moz-linear-gradient(top, #E6D332, #E6D332);
    background: -webkit-linear-gradient(top, #E6D332, #E6D332);
    background: -ms-linear-gradient(top, #E6D332, #E6D332);
    background: linear-gradient(top, #E6D332, #E6D332);
    border-color:#2e77ae;}



button:focus,
input.button:focus,
a.button:focus,
input[type="submit"]:focus { 
    background-color:#E6D332;}
Run Code Online (Sandbox Code Playgroud)

css text colors hover

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

Ansible:在Ubuntu上重启网络

如果你需要在Ubuntu服务器(在我的情况下为12.04)的游戏过程中重新启动网络,你不能使用service:

# service networking restart 
stop: Job failed while stopping
start: Job is already running: networking
Run Code Online (Sandbox Code Playgroud)

以下适用于命令行,但使用Ansible(1.8.4)它会将您锁定:

command: ifdown eth0 && ifup eth0
Run Code Online (Sandbox Code Playgroud)

ifdown取下界面,但ifup不运行

如何重启界面?

ubuntu networking ubuntu-12.04 ansible

7
推荐指数
2
解决办法
6556
查看次数