标签: observers

SQLSTATE [HY000]:一般错误:2006 MySQL服务器已经消失了运行cron job magento

我正在Magento网站上工作,我收到此错误:

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away on running 
cron job magento
Run Code Online (Sandbox Code Playgroud)

我有时只会遇到这个错误.

<?php
class Namespace_Module_Model_Observer 
{
  public function importemails(Varien_Event_Observer $observer)
  {
    echo "Hi Dear";exit();

    /* connect to gmail */
    $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
    $username = 'myid@gmail.com';
    $password = 'mypass';

    /* try to connect */
    $inbox = imap_open($hostname,$username,$password) 
        or die('Cannot connect to Gmail: ' . imap_last_error());

    /* grab emails */
    $emails = imap_search($inbox,'ALL');

    /* if emails are returned, cycle through each... */
    if($emails) {

      /* begin output var …
Run Code Online (Sandbox Code Playgroud)

mysql cron observers magento

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

是否删除了使用闭包语法创建的NotificationCenter观察器?

我有一些使用块/尾随闭包语法创建的通知,如下所示:

NotificationCenter.default.addObserver(forName: .NSManagedObjectContextObjectsDidChange, object: moc, queue: nil) { note in
    // implementation
}
Run Code Online (Sandbox Code Playgroud)

我后来通过名字删除,像这样:

NotificationCenter.default.removeObserver(self, name: NSNotification.Name.NSManagedObjectContextObjectsDidChange, object: moc)
Run Code Online (Sandbox Code Playgroud)

我的问题

这够了吗?或者我是否绝对需要保存NSObjectProtocol到它自己的属性并使用以下语法删除该属性?

NotificationCenter.default.removeObserver(didChangeNotification)
Run Code Online (Sandbox Code Playgroud)

observers nsnotificationcenter swift

11
推荐指数
3
解决办法
5039
查看次数

iOS测试:dispatch_once被调用两次.首先在App中,在Test中排名第二.观察员的问题

我有一个singelton类,它将在app delegate中创建.

当我运行XCTTests然后它再次创建它.

+ (instancetype)urlSchemeManager
{
    static dispatch_once_t onceToken;
    static UrlSchemeManager* _sharedInstance;

    dispatch_once(&onceToken, ^{

        _sharedInstance = [UrlSchemeManager new];


    });
    return _sharedInstance;
}
Run Code Online (Sandbox Code Playgroud)

这导致两个不同的实例.如果我只是用它进行单元测试,这没问题.但是在集成测试中,当我为urlSchmemeManager注册一个观察者时,我得到了一个EXC_BAD_ACCESS,因为它已经被rootViewController(在UI中)观察到了.

在RootViewController中:

UrlSchemeManager * schemeManager = [GlobalSpace globalSpace].urlSchemeManager;
[schemeManager addObserver:self forKeyPath:OBSERVER_KEY_URL_SCHEME_MANAGER_CONTENT_MORE options:NSKeyValueObservingOptionNew context:nil];
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

testing observers grand-central-dispatch ios xctest

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

如何更改Observable(RxJs)中的参数

我在Angular 2中使用HTTP提供程序从API加载数据.

return this.http.post(url, urlSearchParams.toString(), {
        headers: this.getHttpHeaders()
    })
    .retryWhen((error) => {
        return this.handleRetryError(error);
    })
Run Code Online (Sandbox Code Playgroud)

当没有或旧的会话时,我在this.handleRetryError(错误)中创建新的会话并用它填充标题.(方法getHttpHeaders()返回带头的数组)

重试当尝试再次发布此帖子时,但第一轮中没有未更改的(旧)标题.

有没有机会从.readyWhen更改http.post的头参数?

非常感谢你的帮助:)

observers rxjs typescript angular

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

使用观察者广播有说服力的事件

目前我在创建和更新模型后使用观察者来处理一些东西.

我想通过使用实时更新我的​​应用程序,但我无法找到关于与观察者(而不是事件)结合使用的文档.

您可以将事件及其广播功能与其各自的侦听器结合使用以获得此功能,但我更喜欢更清晰的观察员代码(更少"魔术").

看一下laravel框架的代码,我可以看到observable仍然使用雄辩的事件,所以我怀疑有一种方法来广播这些.

所以我的问题是:有没有办法使用广播有说服力的事件而不创建单独的事件或在每个事件上手动添加广播语句?

observers laravel laravel-echo

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

DOM Mutation Observers比DOM Mutation事件慢吗?

以下代码利用DOM Mutation Event DOMNodeInserted来检测body元素的存在并将其innerHTML包装到包装器中.

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script>
        function DOMmanipulation() {
            if (document.body) {
                document.removeEventListener('DOMNodeInserted', DOMmanipulation);
                // DOM manipulation start
                document.body.innerHTML = '<div class="wrapper">' + document.body.innerHTML + '</div>';
                // DOM manipulation end
            }
        }
        document.addEventListener('DOMNodeInserted', DOMmanipulation);
    </script>
</head>
<body>
    <p>Lorem ipsum dolor sit amet.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

尽管包装成功,但是有一个错误表明找不到节点.这个问题的答案解释说,这是因为当jQuery被加载时,它div在主体中添加了一个元素来进行一些测试,但它无法删除该div元素,因为该元素已被包装到包装器中,因此它不是一个孩子身体的元素了.

上面的实验告诉我们DOMNodeInserted事件比jQuery的测试更快,因为jQuery的test element(div)在被jQuery删除之前就被包装了.




现在,下面的代码可以实现相同的操作,并且它使用新引入的DOM Mutation Observers.截至此时(2012-07-11),它仅适用于Chrome 18及更高版本.

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
    <script> …
Run Code Online (Sandbox Code Playgroud)

javascript performance events observers mutation-events

9
推荐指数
2
解决办法
4551
查看次数

如何使用string中的参数创建Selector

我正在使用Swift 3.1和Xcode 8.3.3编写程序.我想创建一个类,负责在键盘出现和消失时移动整个视图.但是我遇到了使用string中的参数创建自定义Selector的困难.要显示或隐藏键盘我们需要功能:

func keyboardWillShow(notification: Notification) {
//Code moving view when keyboard appears
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个这样的选择器:

let selector = Selector(("keyboardWillShow")
NotificationCenter.default.addObserver(view, selector: selector, name: .UIKeyboardWillShow, object: anyView.view.window)
Run Code Online (Sandbox Code Playgroud)

它正在编译,但是当键盘出现时,它会崩溃.因为它是独立的类我不能使用这种结构:

#selector(keyboardWillShow)
Run Code Online (Sandbox Code Playgroud)

因为它将Swift函数转换为Objective-C函数(添加@objc).所以问题是:如何用参数字符串创建一个Selector表单?

PS我可以把整个代码放在那里,但我不想要问题非常大,所以我会编辑问题,如果有人问...

notifications observers selector ios swift

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

尽管数据没有改变,但一些片段观察者在从后堆栈弹出后触发

我在 Kotlin 的嵌套片段中遇到了一些问题。我用 ViewModel 嵌套了片段。从后退按钮恢复片段后,虽然我的数据没有改变,但再次按下 viewModel LiveData 上的所有观察者触发。

首先我用谷歌搜索并尝试在字段变量中定义观察者并检查它是否已初始化然后不要再次观察它:lateinit var观察者:观察者

fun method(){
        if (::observer.isInitialized) return
        observer = Observer{ ... }
        viewModel.x_live_data.observe(viewLifecycleOwner ,observer)
}
Run Code Online (Sandbox Code Playgroud)

因此,首先进入片段它工作正常,并且在恢复后它不会在没有数据更改的情况下再次触发,但它也不会在数据更改时触发!到底是怎么回事?

android observers mvvm android-lifecycle android-livedata

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

Observable/Observer不工作?

我尝试在我的Application子类中实现静态Observable,但它不起作用.没有异常或错误消息,但我的update()回调没有被调用.

MyApplication.java

public class MyApplication extends Application{
    public static Observable appObserver = new Observable();

    public void onCreate(){
        super.onCreate();        
    }

}
Run Code Online (Sandbox Code Playgroud)

Foo.java

MyApplication.appObserver.notifyObservers( "Hello world" );
Run Code Online (Sandbox Code Playgroud)

BarFragment.java

public class BarFragment extends Fragment implements Observer{

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);                
        MyApplication.appObserver.addObserver(this);
    }


    @Override
    public void onDestroy() {       
        MyApplication.appObserver.deleteObserver(this);
        super.onDestroy();
    }


    @Override
    public void update(Observable observable, Object data) {
        Log.i("BarFragment", data.toString()); // Should log, but doesn't
    }

}
Run Code Online (Sandbox Code Playgroud)

更重要的是,我试着涂鸦了一个简单的可观察我自己的,然后一切工作就像一个魅力与刚刚替换public static Observable appObserver = new Observable();public static MyObservable appObserver …

java android observers observable observer-pattern

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

如何在swift中观察一组NSObject?

我是快速语言的新手,我的问题是如何在swift中使用observable/observer模式.

我想让我的数组在我的SocketManager类中可观察,因此我的UIViewController类可以观察到它.我使用了Andrew J Wagner编写的Observable类,我是从这个链接获得的:

http://www.drewag.me/posts/swift-kvo-substitute-observable-variables

我有阵列:

var marketIndexList:Array <MarketIndex> = []

这将从服务器获取其数据.每次从服务器收到新数据时,都会更新此列表.从服务器获取我的Array的值后,我想使其成为Observable类,它由上面的链接实现:

marketIndexList = Observable(marketIndexList)

但我得到了这个错误:

'MarketIndex'与'AnyObject'不同

MarketIndex是一个类型为NSObject的类,它具有String类型的一些属性.

这是我用过的Observable类:

import Foundation


class Observable {
    typealias DidChangeHandler = (oldValue: Array<MarketIndex>?, newValue: Array<MarketIndex>) -> ()

    var value : Array<MarketIndex> = [] {
        didSet {
            for (owner, handlers) in self.observers {
                for handler in handlers {
                    handler(oldValue: oldValue, newValue: value)
                }
            }
        }
    }

    init(_ value: Array<MarketIndex>) {
        self.value = value
    }

    func addObserverForOwner(owner: IndexViewController, triggerImmediately: Bool, handler: DidChangeHandler) {

        if let index …
Run Code Online (Sandbox Code Playgroud)

arrays observers nsobject observable swift

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