小编Raj*_*123的帖子

如何将celery作业的参数输入到要查询的数据库中; 使用mysql

我使用MySql作为芹菜的结果后端.我也想在DB中存储程序参数.

例如:

add.apply_async(args=[num1, num2, user]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我想在DB中存储用户参数,以便我可以稍后查询.

目前,我返回提供的参数,该参数存储在DB中.

def add(num1, num2, user):
    return [num1+num2, user]
Run Code Online (Sandbox Code Playgroud)

但是,当任务处于运行状态时,未插入用户,我无法在DB中查询它.这有什么解决方案/黑客吗?

python mysql celery celery-task

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

无法增加rabbitmq的文件描述符

我想增加Rabbitmq服务器的文件描述符.

机器细节:

root@rabbitmq-stats-node:/home/# uname -a
Linux rabbitmq-stats-node 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u1 (2017-02-22) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

以下是配置参数更改的详细信息:

root@rabbitmq-stats-node:/home/# cat /proc/sys/fs/file-max
500000

root@rabbitmq-stats-node:/home/# tail -n1 /etc/pam.d/common-session
session required pam_limits.so

root@rabbitmq-stats-node:/home/# tail -n1 /etc/pam.d/common-session-noninteractive
session    required   pam_limits.so

root@rabbitmq-stats-node:/home/# tail -n4 /etc/security/limits.conf 
*           soft    nofile          65536
*           hard    nofile          500000
root           soft    nofile          65536
root           hard    nofile          500000

root@rabbitmq-stats-node:/home/# sysctl -p 
fs.file-max = 500000

root@rabbitmq-stats-node:/home/# sudo service rabbitmq-server restart

root@rabbitmq-stats-node:/home/# sudo reboot
Run Code Online (Sandbox Code Playgroud)

所有配置更改后,我无法更改文件解析器限制.

root@rabbitmq-stats-node:/home/# rabbitmqctl status | grep -A1 descriptors
 {file_descriptors,
     [{total_limit,924},{total_used,13},{sockets_limit,829},{sockets_used,3}]},
Run Code Online (Sandbox Code Playgroud)

我进入后可以看到更改限制

root@rabbitmq-stats-node:/home/# …
Run Code Online (Sandbox Code Playgroud)

rabbitmq

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

Boost Jamfiles中的#define

这是我的项目结构:

MainFolder
  - Jamroot.jam
  - AnotherFolder
      - libFolder
          - Jamfile.jam
          - cpp files
Run Code Online (Sandbox Code Playgroud)

我在其中一个cpp文件中有#ifdef.例:

#ifdef SOMEVALUE
  Code
#endif
Run Code Online (Sandbox Code Playgroud)

我需要在Jamfile中使用#define编译cpp文件.因为,我有两种类型的可执行文件(一个使用#define,一个没有)我需要在Jamfile本身而不是cpp代码中执行此操作.

我尝试了以下,但不起作用(无法在#ifdef #endif块中找到定义):

lib libname : [ glob *.cpp ] : <link>static : <define>SOMEVALUE ;
Run Code Online (Sandbox Code Playgroud)

c++ boost bjam

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

特定进程的iotop

跑步时

sudo iotop --only
Run Code Online (Sandbox Code Playgroud)

我得到所有执行 IO 的进程。我想接收特定进程的统计信息。当我跑

sudo iotop --only -p pid
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %
Run Code Online (Sandbox Code Playgroud)

我怎样才能消除那个错误?

linux io

5
推荐指数
1
解决办法
667
查看次数

标签 统计

bjam ×1

boost ×1

c++ ×1

celery ×1

celery-task ×1

io ×1

linux ×1

mysql ×1

python ×1

rabbitmq ×1