小编Kal*_*are的帖子

在 AngularJS 中使用 ngCordova 检索 1000 多个联系人

我正在 Ionic 框架中开发一个应用程序,它显示从设备到最终用户的所有联系人,并提供选择联系人的选项。我正在使用 ngCordova 的 $cordovaContacts 模块来获取联系人。

这是从设备获取联系人的服务代码。

angular.module('starter.services').factory('ContactManager', function($cordovaContacts, $ionicLoading){
  return {
    getContacts: function() {
      $ionicLoading.show({ template: "<div class='ion-ios7-reloading'></div>"});
      var options = {};
      options.filter = "";
      options.multiple = true;
      options.fields = ['displayName', 'name', 'phoneNumbers', 'emails'];
      //get the phone contacts
      return $cordovaContacts.find(options);
    }
  }
});
Run Code Online (Sandbox Code Playgroud)

下面是将联系人分配给 $scope.contacts 变量的控制器代码

angular.module('starter.ctrls').controller('ShareCtrl', function($scope, ContactManager, $stateParams) {

  $scope.contacts = [];

  ContactManager.getContacts().then(function(_result){
    alert("CONTACTS FETCHED: Now rendering in Template");
    $scope.contacts = _result;
   }, function(_error){
    alert("Error: " + _error);
  });

});
Run Code Online (Sandbox Code Playgroud)

它适用于 100-400 个联系人。但是对于拥有大约 1000 个联系人的设备,从插件中获取联系人需要大量时间(控制器中的联系人获取警报在 2-3 …

android ios angularjs cordova ionic-framework

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

服务器上的生产环境中的延迟作业失败

我正在使用delayed_job gem在我的rails应用程序中发送电子邮件.delayed_job运行良好,但是从最近5天开始,它无效并在delayed_job.log文件中抛出以下错误.

2011-10-09T01:53:04+0530: [Worker(delayed_job host:backupserver pid:23953)] Syck::DomainType#private_group_join_request failed with NoMethodError: undefined method private_group_join_request' for # - 11 failed attempts
2011-10-09T01:53:04+0530: [Worker(delayed_job host:backupserver pid:23953)] 1 jobs processed at 1.4503 j/s, 1 failed ...
2011-10-09T01:54:40+0530: [Worker(delayed_job host:backupserver pid:23953)] Syck::DomainType#contact_us_email failed with NoMethodError: undefined method contact_us_email for # - 11 failed attempts
2011-10-09T01:54:40+0530: [Worker(delayed_job host:backupserver pid:23953)] 1 jobs processed at 4.3384 j/s, 1 failed ...

以下是我如何调用发送电子邮件延迟工作的示例之一.

UserMailer.delay(:run_at => 10.seconds.from_now).contact_us_email(self)
Run Code Online (Sandbox Code Playgroud)

我开始推迟工作了

RAILS_ENV=production script/delayed_job start
Run Code Online (Sandbox Code Playgroud)

它在我的本地计算机上的开发和生产环境中正常工作.

我在Rails应用程序中使用的环境.

  • Rails 3.0.8
  • Linux中的Ruby 1.9.2(Ubuntu)
  • 耙0.9.2
  • delayed_job 2.1.4

与使用script/delay_job创建delayed_job …

delayed-job ruby-on-rails-3

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