Skip to content

stopWhenComplete,增加动态修改完成时停止方法。 #1169

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 17, 2024

Conversation

niuxiaozu
Copy link
Contributor

No description provided.

/**
* Stop when all tasks in the queue are completed and all worker threads are also completed
*/
public void stopWhenComplete(){
Copy link
Collaborator

@sutra sutra Jun 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

增加这个方法是干什么用的?为了让外部调用?系统运行的时候,修改这个变量?

已经有 setExitWhenComplete 了。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

好吧,只是给exitWhenComplete加了个volatile,然后起了个好看点的方法名,其实不改动也能做到,就是看什么时候轮训线程什么时候刷新缓存了。

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

为什么需要在运行的时候修改这个值?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

我这边的场景是,多个spider协同运行,一开始就把所有spider启动起来,然后在某个时机,比如主要的spider运行的spider执行结束后,手动停止其他的spider,但是又不想丢弃队列中的任务,所以就需要有个方法使得spider在运行完所有任务后停止。就像线程池的shutdown一样

@sutra sutra merged commit 4d0cdb0 into code4craft:develop Jun 17, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants