我有100个任务。但是我一次只能处理4个任务。完成这4个任务后,我想运行下一组4个任务。 可以通过将任务分成4组,然后将它们链接起来来完成。 但是某些任务可能会在两者之间失败,因此我该如何处理这些错误并采取适当的措施,以便仅对失败的任务重试。 据我对链条的了解,如果一个任务失败,链条中的后续任务将不会运行。因此,如果我实现组链,则如果组中的任何任务失败,则整个链都将失败。 建议我为此使用一种适当的错误处理方法,对于实现此方法的任何更好的主意也将不胜感激。
我已禁用结果后端。
有点背景-我有一个使用celery-beat实现的cron,每30秒钟运行一次,一次可以拾取100个新任务。因此,所有这些链接和分组都必须在cron函数内部完成。
我正在使用芹菜3.1.25
答案 0 :(得分:1)
如果任务是独立的,则不要将它们链接在一起。在{@ 3}}上针对特定队列的芹菜工作者,以使用@Override
protected void configure(final HttpSecurity http) throws Exception {
http
.cors()
.and()
.csrf().disable()
.exceptionHandling().authenticationEntryPoint(restAuthenticationEntryPoint)
.and()
.authorizeRequests()
.antMatchers("/login*", "/success*").anonymous()
.antMatchers("/auth/**", "/signup/**", "/css/*", "/webjars/**","/js/*","/image/*").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.successHandler(mySuccessHandler)
.failureHandler(myFailureHandler)
.loginProcessingUrl("perform_login")
.usernameParameter("username")
.passwordParameter("password")
.successForwardUrl("/tasks")
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/logout-success").permitAll()
.and()
.apply(new SpringSocialConfigurer());
}
或curl -i -X POST -d username=admin -d password=admin http://localhost:8080/perform_login
将工作者人数限制为4。