小编ris*_*101的帖子

捕获异常并继续执行程序是最佳做法吗?

我的应用程序连接到rabbitMQ.有时候,它会抛出一个AMQPTimeoutException.更具体地说" 发送数据时出错.套接字连接超时 ".

我的解决方案

我正在捕获AMQPTimeoutException并调用我的重新连接方法.之后程序继续正常执行.此外,我设置了一个标志,以便异常最多处理3次.

try
{
    sendMethod($message);
} catch (AMQPTimeoutException $e) {
      echo "caught socket connection exception". "\n";
      $this->reconnect($message, $exchangeName, $queue);
  }
//reconnect internally checks the flag
Run Code Online (Sandbox Code Playgroud)

我的问题:这是最佳做法吗?如果不是其他可能的解决方案?

注意:该应用程序是用PHP编写的.

php amqp rabbitmq

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

如何将php的uuid v4转换为两个64位整数

示例:从 php v4 生成的 Uuid : 8bc278cb-2fb6-413b-add6-8ba39bf830e8

我想将其转换为两个 64 位整数。

我尝试过使用hexdecphp 但它的返回值是数字。我想要整数数据类型。

有趣的是 :

我尝试将 hexdec 与上述 uuid 一起使用,并将此输出用于 dechex。有些怎么样,没有得到相同的值?

任何对此的见解将不胜感激。

php uuid

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

如何使用NodeJS执行批量插入mongodb

我必须使用nodejs在mongodb中插入大约10,00000个文档.

我正在使用for循环生成这些文档,然后将它们存储到数组中,最后将它们插入到mongodb中.

var codeArray = new Array();
for (var i = 0; i<1000000; i++){
    var token = strNpm.generate();
    var now = moment().format('YYYYMMDD hhmmss');
    var doc1 = {id:token,
        Discount_strId:"pending",
        Promotion_strCode:token,
        Promotion_strStatus:"I",
        Promotion_dtmGeneratedDate:now,
        User_strLogin:"test",
        Promotion_strMode:"S",
        Promotion_dtmValidFrom:"pending",
        Promotion_dtmValidTill:"pending",
        LastModified_dtmStamp:now
    };
    codeArray.push(doc1);
    db.collection('ClPromoCodeMaster').insert(codeArray, function (err, result) {
    if (err){
        console.log(err);
    }else{
        console.log('Inserted Records - ', result.ops.length);
    }
});
Run Code Online (Sandbox Code Playgroud)

我面临的问题是mongo的插入限制是16mb,所以我不能一次插入整个数组.请建议最佳解决方案.

mongodb node.js mongodb-query

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

标签 统计

php ×2

amqp ×1

mongodb ×1

mongodb-query ×1

node.js ×1

rabbitmq ×1

uuid ×1