Skip to content

关于Spider#setScheduler(Scheduler)存在bug #1172

Description

@KamiNoYuki

方法代码:

public Spider setScheduler(Scheduler updateScheduler) {
        checkIfRunning();
        //此处存在问题,这样会导致直接将内部的scheduler设置为updateScheduler,然后又尝试自己poll自己进行数据迁徙
        SpiderScheduler oldScheduler = this.scheduler;
        //应该修改为下面这样
        //Scheduler oldScheduler = scheduler.getScheduler();
        scheduler.setScheduler(updateScheduler);
        Request request;
        while ((request = oldScheduler.poll(this)) != null) {
            System.out.println("move oldScheduler task to updateScheduler");
            this.scheduler.push(request, this);
        }
        return this;
    }

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions