CINXE.COM
GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-cba26849680f.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-cbc6bc3d1003.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["allow_subscription_halted_error","contentful_lp_flex_features_actions","contentful_lp_flex_features_codespaces","contentful_lp_flex_features_code_review","contentful_lp_flex_features_code_search","contentful_lp_flex_features_discussions","contentful_lp_flex_features_issues","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_custom_instructions","copilot_chat_repo_custom_instructions_preview","copilot_chat_show_model_picker_on_retry","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_gateway_parse_params","github_models_o3_mini_streaming","insert_before_patch","issues_advanced_search_has_filter","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_advanced_search_nested_ownership_filters","issues_dashboard_no_redirects","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_copilot_pro_plus","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issues_react_grouped_diff_on_edit_history","issues_react_feature_preview_is_over","refresh_image_video_src","codespaces_prebuild_region_target_update","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-6354683ce6d1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-952d624642a1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-c20bd0705df8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-62f3e9c52ece.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-e7f74ee74d91.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-4bcbbbfbe1d4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-4414ad8b510b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_virtualized-list_es_index_js-node_modules_github_template-parts_lib_index_js-94dc7a2157c1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-70450e-4b93df70b903.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_ref-selector_ts-52913063a0b9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/codespaces-b419a25ee02f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-3eebbd-0763620ad7bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_delegated-events_di-e161aa-9d41fb1b6c9e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_github_remote--3c9c82-b71ef90fbdc7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repositories-10217e4e5a53.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-d6d3c94ee97e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-350730ea92ff.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-a8203875c6f9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-1622bd1e542f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-41b1a8-555bc0cf9cab.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-53aa08c61b34.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.eebd62883c61d2053717.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.eebd62883c61d2053717.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)</title> <meta name="route-pattern" content="/:user_id/:repository" data-turbo-transient> <meta name="route-controller" content="files" data-turbo-transient> <meta name="route-action" content="disambiguate" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="CAFC:35E4F5:B737C4:CA138C:67F7BEC3" data-pjax-transient="true"/><meta name="html-safe-nonce" content="b4354d66892220ee9d0ae85f6668eac33503787b427d167c071a5626522c6d07" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQUZDOjM1RTRGNTpCNzM3QzQ6Q0ExMzhDOjY3RjdCRUMzIiwidmlzaXRvcl9pZCI6IjY1MzcyMjA3OTkyODk4Njc5NzEiLCJyZWdpb25fZWRnZSI6InNvdXRoZWFzdGFzaWEiLCJyZWdpb25fcmVuZGVyIjoic291dGhlYXN0YXNpYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="54a904990d527dcbdca0b218c3ff98836ef84348997af142ccbec8560a7e918d" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:47023603" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) - xuxueli/xxl-job"> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/xuxueli/xxl-job" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/4efefaa2dc091a6d1f25486017af355e00656832d3986985bcda67c15414fc7a/xuxueli/xxl-job" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)" /><meta name="twitter:description" content="A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) - xuxueli/xxl-job" /> <meta property="og:image" content="https://opengraph.githubassets.com/4efefaa2dc091a6d1f25486017af355e00656832d3986985bcda67c15414fc7a/xuxueli/xxl-job" /><meta property="og:image:alt" content="A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) - xuxueli/xxl-job" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)" /><meta property="og:url" content="https://github.com/xuxueli/xxl-job" /><meta property="og:description" content="A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) - xuxueli/xxl-job" /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="d07698b7a21ab332932c41cbfe28e833cbb8f8747400aab7195e0ffcc71c6384" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="e26f9f0ba624ee85cc7ac057d8faa8618a4f25a85eab052c33d018ac0f6b1a46" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="3cc343cb09f6c060d681030301f2f209ed6398fe7fc943dea1b120d06a1494a7" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="1a0c7ca099ae971fabaa56ad0b03a691bab38d0f61974833e1f68fe16c57c5d7" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/xuxueli/xxl-job git https://github.com/xuxueli/xxl-job.git"> <meta name="octolytics-dimension-user_id" content="10633817" /><meta name="octolytics-dimension-user_login" content="xuxueli" /><meta name="octolytics-dimension-repository_id" content="47023603" /><meta name="octolytics-dimension-repository_nwo" content="xuxueli/xxl-job" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="47023603" /><meta name="octolytics-dimension-repository_network_root_nwo" content="xuxueli/xxl-job" /> <link rel="canonical" href="https://github.com/xuxueli/xxl-job" data-turbo-transient> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="707054b4dd3dd5d95a94430decc3ffbf75623d2c"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-2d52c8e72e64.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-2560f573c7ca.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.eebd62883c61d2053717.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-45d6658f8b6b.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="2be3d1ff13b2230418df509afdf92092f560fb5ef86dcd0f720f974ed4a42d2c" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_advanced_security","context":"product","tag":"link","label":"github_advanced_security_link_product_navbar"}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"events_amp_webinars","context":"resources","tag":"link","label":"events_amp_webinars_link_resources_navbar"}" href="https://resources.github.com"> Events & Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ebooks_amp_whitepapers","context":"resources","tag":"link","label":"ebooks_amp_whitepapers_link_resources_navbar"}" href="https://github.com/resources/whitepapers"> Ebooks & Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_advanced_security","context":"enterprise","tag":"link","label":"github_advanced_security_link_enterprise_navbar"}" href="https://github.com/security/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"copilot_for_business","context":"enterprise","tag":"link","label":"copilot_for_business_link_enterprise_navbar"}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:xuxueli/xxl-job" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="kxJCPCBJmRgvw_Uo2Hn5MiQzGTV9VSp0PUWsazh8MyprIGpiMetkhNCsbXpBj1VGYIIMm-PAaFDd3BcArwZeGA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="xuxueli/xxl-job" data-current-org="" data-current-owner="xuxueli" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-1ad448b3-e283-43a5-b935-926f46ed6b03" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-1ad448b3-e283-43a5-b935-926f46ed6b03" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="XZY92ggr/jtR+VepKunQiMFAMN8cw+uuPrWDPZo8YBfg+1YqSdfGSDMA+llaxD5C/aIV/ZJqOgGOK+IfnhukEQ==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="IIftw7nIi/mJAtnnSS0DpKIJzQmsgjcWg4T+S89pIet4zPHYTnHfuMkUXR1o83GgFz4w0Uprg5QpGcc5eMsT/g==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="ueVe5r3GFwnuJ+VpSq3CR8WKKYS+wmMgieoeSSMbUrKTQSYr1RIrtpQWnsw8S6GLkpnwODw+cxzSnX+g4zLMdA==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="2be3d1ff13b2230418df509afdf92092f560fb5ef86dcd0f720f974ed4a42d2c" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=xuxueli%2Fxxl-job" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="2be3d1ff13b2230418df509afdf92092f560fb5ef86dcd0f720f974ed4a42d2c" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-491be447-e0da-4095-8b19-087f7eefd51d" aria-labelledby="tooltip-eedba214-5f2f-4f92-89af-cd3ea53d1278" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-eedba214-5f2f-4f92-89af-cd3ea53d1278" for="icon-button-491be447-e0da-4095-8b19-087f7eefd51d" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/xuxueli/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/xuxueli"> xuxueli </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/xuxueli/xxl-job">xxl-job</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <include-fragment src="/xuxueli/xxl-job/sponsor_button"></include-fragment> </li> <li> <a href="/login?return_to=%2Fxuxueli%2Fxxl-job" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="a989d3fc049b1a0c2eae4637858891bc47ce59d02eda721312a2e2705169eb30" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-b5dea9be-c06c-49f1-b158-bf2412a5d97a" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fxuxueli%2Fxxl-job" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":47023603,"auth_type":"LOG_IN","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="732354bdaffd1f1bc5ee8a674cf53326c64c2ebe292229686b760f3f095e7b79" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="11,133" data-view-component="true" class="Counter">11.1k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fxuxueli%2Fxxl-job" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":47023603,"auth_type":"LOG_IN","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="2997e03a6ed6b941dedaacd098a04c6ec88f5bbab8977067652c52ad203ff42f" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="28573 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="28,573" data-view-component="true" class="Counter js-social-count">28.6k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> <div class="d-block d-md-none mb-2 px-3 px-md-4 px-lg-5"> <p class="f4 mb-3 "> A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) </p> <div class="mb-2 d-flex flex-items-center Link--secondary"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link flex-shrink-0 mr-2"> <path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path> </svg> <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a title="http://www.xuxueli.com/xxl-job/" role="link" target="_blank" class="text-bold" rel="noopener noreferrer" href="http://www.xuxueli.com/xxl-job/">www.xuxueli.com/xxl-job/</a> </span> </div> <h3 class="sr-only">License</h3> <div class="mb-2"> <a href="/xuxueli/xxl-job/blob/master/LICENSE" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> GPL-3.0 license </a> </div> <div class="mb-3"> <a class="Link--secondary no-underline mr-3" href="/xuxueli/xxl-job/stargazers"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-1"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <span class="text-bold">28.6k</span> stars </a> <a class="Link--secondary no-underline mr-3" href="/xuxueli/xxl-job/forks"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-1"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <span class="text-bold">11.1k</span> forks </a> <a class="Link--secondary no-underline mr-3 d-inline-block" href="/xuxueli/xxl-job/branches"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-branch mr-1"> <path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path> </svg> <span>Branches</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/xuxueli/xxl-job/tags"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag mr-1"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <span>Tags</span> </a> <a class="Link--secondary no-underline d-inline-block" href="/xuxueli/xxl-job/activity"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-1"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span>Activity</span> </a> </div> <div class="d-flex flex-wrap gap-2"> <div class="flex-1"> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Fxuxueli%2Fxxl-job" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":47023603,"auth_type":"LOG_IN","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="2997e03a6ed6b941dedaacd098a04c6ec88f5bbab8977067652c52ad203ff42f" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> </a></div> </div> <div class="flex-1"> <a href="/login?return_to=%2Fxuxueli%2Fxxl-job" rel="nofollow" id="files-overview-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/xuxueli/xxl-job","user_id":null}}" data-hydro-click-hmac="a989d3fc049b1a0c2eae4637858891bc47ce59d02eda721312a2e2705169eb30" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn btn-block"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-65131cdf-abd4-41d5-90bb-2a6066623a09" for="files-overview-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </div> <span> </span> </div> </div> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/xuxueli/xxl-job" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /xuxueli/xxl-job" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/xuxueli/xxl-job/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /xuxueli/xxl-job/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="575" data-view-component="true" class="Counter">575</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/xuxueli/xxl-job/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /xuxueli/xxl-job/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="131" data-view-component="true" class="Counter">131</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/xuxueli/xxl-job/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /xuxueli/xxl-job/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/xuxueli/xxl-job/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /xuxueli/xxl-job/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/xuxueli/xxl-job/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /xuxueli/xxl-job/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Wiki","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> <span data-content="Wiki">Wiki</span> <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/xuxueli/xxl-job/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /xuxueli/xxl-job/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/xuxueli/xxl-job/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/xuxueli/xxl-job/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /xuxueli/xxl-job/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-button" popovertarget="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-overlay" aria-controls="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-list" aria-haspopup="true" aria-labelledby="tooltip-720a9316-4b7b-425f-b1cd-74aa054ec2b1" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-720a9316-4b7b-425f-b1cd-74aa054ec2b1" for="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-overlay" anchor="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-button" id="action-menu-253eb170-7a4b-4bbc-be80-2855af782057-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-026710d0-647c-4448-94ae-3338fadd2ff3" href="/xuxueli/xxl-job" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-0e5df47b-6013-4122-8951-a44a544e72a5" href="/xuxueli/xxl-job/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-1d2fbebb-bcae-451a-bab0-44224fd60ffd" href="/xuxueli/xxl-job/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-8ae8f04a-de18-4789-9c7b-1b2c92be5764" href="/xuxueli/xxl-job/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-48f6abe9-4416-4da5-9bd8-d67072eb6b13" href="/xuxueli/xxl-job/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i5wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-2d45dea3-0805-4d1d-a895-50394f5c8a48" href="/xuxueli/xxl-job/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Wiki </span> </a> </li> <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-007304bb-c3d5-49b8-8d7d-f48e804fbd87" href="/xuxueli/xxl-job/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-513483ab-954c-422d-ab01-7d786de6d373" href="/xuxueli/xxl-job/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <h1 class='sr-only'>xuxueli/xxl-job</h1> <div class="clearfix container-xl px-md-4 px-lg-5 px-3"> <div> <div style="max-width: 100%" data-view-component="true" class="Layout Layout--flowRow-until-md react-repos-overview-margin Layout--sidebarPosition-end Layout--sidebarPosition-flowRow-end"> <div data-view-component="true" class="Layout-main"> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryObserver_js-node_modules_tanstack_-defd52-843b41414e0e.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_history_history_ts-ui_packages_promise-with-re-01dc80-b13b6c1d97b0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-8a20a6d3af54.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-762eaa-bac5b6fc3f70.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-c2dbff-278e6449f378.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/repos-overview-a4746a3edebf.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.eebd62883c61d2053717.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repos-overview.0ee7cac3ab511a65d9f9.module.css" /> <react-partial partial-name="repos-overview" data-ssr="true" data-attempted-ssr="true" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"initialPayload":{"allShortcutsEnabled":false,"path":"/","repo":{"id":47023603,"defaultBranch":"master","name":"xxl-job","ownerLogin":"xuxueli","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-11-28T12:59:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10633817?v=4","public":true,"private":false,"isOrgOwned":false},"currentUser":null,"refInfo":{"name":"master","listCacheKey":"v0:1738876840.0","canEdit":false,"refType":"branch","currentOid":"4469c5d69b3e893e2c6557a227bd99eb45e12bc5"},"tree":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"doc","path":"doc","contentType":"directory"},{"name":"xxl-job-admin","path":"xxl-job-admin","contentType":"directory"},{"name":"xxl-job-core","path":"xxl-job-core","contentType":"directory"},{"name":"xxl-job-executor-samples","path":"xxl-job-executor-samples","contentType":"directory"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"NOTICE","path":"NOTICE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"pom.xml","path":"pom.xml","contentType":"file"}],"templateDirectorySuggestionUrl":null,"readme":null,"totalCount":11,"showBranchInfobar":false},"fileTree":null,"fileTreeProcessingTime":null,"foldersToFetch":[],"treeExpanded":false,"symbolsExpanded":false,"isOverview":true,"overview":{"banners":{"shouldRecommendReadme":false,"isPersonalRepo":false,"showUseActionBanner":false,"actionSlug":null,"actionId":null,"showProtectBranchBanner":false,"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_repo","releasePath":"/xuxueli/xxl-job/releases/new?marketplace=true","showPublishActionBanner":false},"interactionLimitBanner":null,"showInvitationBanner":false,"inviterName":null,"actionsMigrationBannerInfo":{"releaseTags":[],"showImmutableActionsMigrationBanner":false,"initialMigrationStatus":null}},"codeButton":{"contactPath":"/contact","isEnterprise":false,"local":{"protocolInfo":{"httpAvailable":true,"sshAvailable":null,"httpUrl":"https://github.com/xuxueli/xxl-job.git","showCloneWarning":null,"sshUrl":null,"sshCertificatesRequired":null,"sshCertificatesAvailable":null,"ghCliUrl":"gh repo clone xuxueli/xxl-job","defaultProtocol":"http","newSshKeyUrl":"/settings/ssh/new","setProtocolPath":"/users/set_protocol"},"platformInfo":{"cloneUrl":"https://desktop.github.com","showVisualStudioCloneButton":false,"visualStudioCloneUrl":"https://windows.github.com","showXcodeCloneButton":false,"xcodeCloneUrl":"xcode://clone?repo=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job","zipballUrl":"/xuxueli/xxl-job/archive/refs/heads/master.zip"}},"newCodespacePath":"/codespaces/new?hide_repo_select=true\u0026repo=47023603"},"popovers":{"rename":null,"renamedParentRepo":null},"commitCount":"1,851","overviewFiles":[{"displayName":"README.md","repoName":"xxl-job","refName":"master","path":"README.md","preferredFileType":"readme","tabName":"README","richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cp align=\"center\" dir=\"auto\"\u003e\n \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/8fa4f8ad64c26aa03734c3c4d919013d5883f92b06c775e22d3f5f925dbdef10/68747470733a2f2f7777772e78757875656c692e636f6d2f646f632f7374617469632f78786c2d6a6f622f696d616765732f78786c2d6c6f676f2e6a7067\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/8fa4f8ad64c26aa03734c3c4d919013d5883f92b06c775e22d3f5f925dbdef10/68747470733a2f2f7777772e78757875656c692e636f6d2f646f632f7374617469632f78786c2d6a6f622f696d616765732f78786c2d6c6f676f2e6a7067\" width=\"150\" data-canonical-src=\"https://www.xuxueli.com/doc/static/xxl-job/images/xxl-logo.jpg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n \u003c/p\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 align=\"center\" tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eXXL-JOB\u003c/h3\u003e\u003ca id=\"user-content-xxl-job\" class=\"anchor\" aria-label=\"Permalink: XXL-JOB\" href=\"#xxl-job\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n \u003cp align=\"center\" dir=\"auto\"\u003e\n XXL-JOB, a distributed task scheduling framework.\n \u003cbr\u003e\n \u003ca href=\"https://www.xuxueli.com/xxl-job/\" rel=\"nofollow\"\u003e\u003cstrong\u003e-- Home Page --\u003c/strong\u003e\u003c/a\u003e\n \u003cbr\u003e\n \u003cbr\u003e\n \u003ca href=\"https://github.com/xuxueli/xxl-job/actions\"\u003e\n \u003cimg src=\"https://github.com/xuxueli/xxl-job/workflows/Java%20CI/badge.svg\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://maven-badges.herokuapp.com/maven-central/com.xuxueli/xxl-job-core/\" rel=\"nofollow\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/6b9716bb372cfa7465e2fe4379e6e290e0940ad50848f11305d8728bae99e0d6/68747470733a2f2f6d6176656e2d6261646765732e6865726f6b756170702e636f6d2f6d6176656e2d63656e7472616c2f636f6d2e78757875656c692f78786c2d6a6f622d636f72652f62616467652e737667\" data-canonical-src=\"https://maven-badges.herokuapp.com/maven-central/com.xuxueli/xxl-job-core/badge.svg\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/xuxueli/xxl-job/releases\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/e7af3d9b6ca17f7906cc48433caa35bcc8fda8b5bb1acea79cd6df0e376fffb1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f78757875656c692f78786c2d6a6f622e737667\" data-canonical-src=\"https://img.shields.io/github/release/xuxueli/xxl-job.svg\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://github.com/xuxueli/xxl-job/\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/6f9c50b34e9e0e598187e86116b76e40482702ba60c801a011f0e0aeb06fdc99/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f78757875656c692f78786c2d6a6f62\" data-canonical-src=\"https://img.shields.io/github/stars/xuxueli/xxl-job\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://hub.docker.com/r/xuxueli/xxl-job-admin/\" rel=\"nofollow\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/08d6f062eec65437f5e384e053d602ab3ee55c0bbb12de99c903e9076fbce4d1/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f78757875656c692f78786c2d6a6f622d61646d696e\" data-canonical-src=\"https://img.shields.io/docker/pulls/xuxueli/xxl-job-admin\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003ca href=\"http://www.gnu.org/licenses/gpl-3.0.html\" rel=\"nofollow\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/fcf50c1f3a4879682b94be5dd325b2dec1661a159904a2a45493e553c8ccf175/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c76332d626c75652e737667\" data-canonical-src=\"https://img.shields.io/badge/license-GPLv3-blue.svg\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003ca href=\"https://www.xuxueli.com/page/donate.html\" rel=\"nofollow\"\u003e\n \u003cimg src=\"https://camo.githubusercontent.com/e163d182162d45828ea12d98057fa501ee101ad141105bb4dc85f0635e850792/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2532342d646f6e6174652d6666363962342e7376673f7374796c653d666c6174\" data-canonical-src=\"https://img.shields.io/badge/%24-donate-ff69b4.svg?style=flat\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eIntroduction\u003c/h2\u003e\u003ca id=\"user-content-introduction\" class=\"anchor\" aria-label=\"Permalink: Introduction\" href=\"#introduction\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eXXL-JOB is a distributed task scheduling framework.\nIt's core design goal is to develop quickly and learn simple, lightweight, and easy to expand.\nNow, it's already open source, and many companies use it in production environments, real \"out-of-the-box\".\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eXXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSponsor\u003c/h2\u003e\u003ca id=\"user-content-sponsor\" class=\"anchor\" aria-label=\"Permalink: Sponsor\" href=\"#sponsor\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eXXL-JOB is an open source and free project, with its ongoing development made possible entirely by the support of these awesome backers.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eXXL-JOB 是一个开源且免费项目,其正在进行的开发完全得益于支持者的支持。开源不易,\u003ca href=\"https://www.xuxueli.com/page/donate.html\" rel=\"nofollow\"\u003e前往赞助项目开发\u003c/a\u003e\u003c/p\u003e\n\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e金牌赞助方\u003c/h3\u003e\u003ca id=\"user-content-金牌赞助方\" class=\"anchor\" aria-label=\"Permalink: 金牌赞助方\" href=\"#金牌赞助方\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003ctbody\u003e\u003ctr\u003e\n \u003ctd\u003e\n \u003ca href=\"https://www.aliyun.com/product/aliware/mse?utm_content=g_1000401794\" title=\"\" rel=\"nofollow\"\u003e\n \u003cimg width=\"150px\" src=\"https://camo.githubusercontent.com/706aba2a2931820114bbeb79caf7fab77b0ae910aa02e889742001762d3a8deb/687474703a2f2f7777772e78757875656c692e636f6d2f706167652f7374617469632f696d616765732f6c6f676f5f616c6979756e322e706e67\" data-canonical-src=\"http://www.xuxueli.com/page/static/images/logo_aliyun2.png\" style=\"max-width: 100%;\"\u003e\n \u003cbr\u003e\n \u003cspan\u003e阿里云 提供云上托管 XXL-JOB\u003c/span\u003e\n \u003c/a\u003e\n \u003c/td\u003e\n \u003ctd\u003e\n \u003ca href=\"https://www.mall4j.com/cn/?statId=10\" title=\"\" rel=\"nofollow\"\u003e\n \u003cimg width=\"150px\" src=\"https://camo.githubusercontent.com/ea121692daf6646a93a7fa4189128e5054b0935db17bfdbb3e89567fcd267e78/687474703a2f2f7777772e78757875656c692e636f6d2f706167652f7374617469632f696d616765732f6c6f676f5f6d61696c346a2e706e67\" data-canonical-src=\"http://www.xuxueli.com/page/static/images/logo_mail4j.png\" style=\"max-width: 100%;\"\u003e\n \u003c/a\u003e\n \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDocumentation\u003c/h2\u003e\u003ca id=\"user-content-documentation\" class=\"anchor\" aria-label=\"Permalink: Documentation\" href=\"#documentation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://www.xuxueli.com/xxl-job/\" rel=\"nofollow\"\u003e中文文档\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.xuxueli.com/xxl-job/en/\" rel=\"nofollow\"\u003eEnglish Documentation\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCommunication\u003c/h2\u003e\u003ca id=\"user-content-communication\" class=\"anchor\" aria-label=\"Permalink: Communication\" href=\"#communication\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://www.xuxueli.com/page/community.html\" rel=\"nofollow\"\u003e社区交流\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeatures\u003c/h2\u003e\u003ca id=\"user-content-features\" class=\"anchor\" aria-label=\"Permalink: Features\" href=\"#features\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;\u003c/li\u003e\n\u003cli\u003e2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;\u003c/li\u003e\n\u003cli\u003e3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;\u003c/li\u003e\n\u003cli\u003e4、执行器HA(分布式):任务分布式执行,任务\"执行器\"支持集群部署,可保证任务执行HA;\u003c/li\u003e\n\u003cli\u003e5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;\u003c/li\u003e\n\u003cli\u003e6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;\u003c/li\u003e\n\u003cli\u003e7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发;\u003c/li\u003e\n\u003cli\u003e8、调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;\u003c/li\u003e\n\u003cli\u003e9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;\u003c/li\u003e\n\u003cli\u003e10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;\u003c/li\u003e\n\u003cli\u003e11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;\u003c/li\u003e\n\u003cli\u003e12、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方便的扩展短信、钉钉等告警方式;\u003c/li\u003e\n\u003cli\u003e13、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;\u003c/li\u003e\n\u003cli\u003e14、分片广播任务:执行器集群部署时,任务路由策略选择\"分片广播\"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;\u003c/li\u003e\n\u003cli\u003e15、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。\u003c/li\u003e\n\u003cli\u003e16、故障转移:任务路由策略选择\"故障转移\"情况下,如果执行器集群中某一台机器故障,将会自动Failover切换到一台正常的执行器发送调度请求。\u003c/li\u003e\n\u003cli\u003e17、任务进度监控:支持实时监控任务进度;\u003c/li\u003e\n\u003cli\u003e18、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;\u003c/li\u003e\n\u003cli\u003e19、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。\u003c/li\u003e\n\u003cli\u003e20、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS、PHP、PowerShell等类型脚本;\u003c/li\u003e\n\u003cli\u003e21、命令行任务:原生提供通用命令行任务Handler(Bean任务,\"CommandJobHandler\");业务方只需要提供命令行即可;\u003c/li\u003e\n\u003cli\u003e22、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;\u003c/li\u003e\n\u003cli\u003e23、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;\u003c/li\u003e\n\u003cli\u003e24、自定义任务参数:支持在线配置调度任务入参,即时生效;\u003c/li\u003e\n\u003cli\u003e25、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;\u003c/li\u003e\n\u003cli\u003e26、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;\u003c/li\u003e\n\u003cli\u003e27、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;\u003c/li\u003e\n\u003cli\u003e28、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;\u003c/li\u003e\n\u003cli\u003e29、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;\u003c/li\u003e\n\u003cli\u003e30、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行;\u003c/li\u003e\n\u003cli\u003e31、跨语言/OpenAPI:调度中心与执行器提供语言无关的 OpenApi(RESTful 格式),第三方任意语言可据此对接调度中心或者实现执行器,实现多语言支持。除此之外,还提供了 “多任务模式”和“httpJobHandler”等其他跨语言方案;\u003c/li\u003e\n\u003cli\u003e32、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;\u003c/li\u003e\n\u003cli\u003e33、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;\u003c/li\u003e\n\u003cli\u003e34、线程池隔离:调度线程池进行隔离拆分,慢任务自动降级进入\"Slow\"线程池,避免耗尽调度线程,提高系统稳定性;\u003c/li\u003e\n\u003cli\u003e35、用户管理:支持在线管理系统用户,存在管理员、普通用户两种角色;\u003c/li\u003e\n\u003cli\u003e36、权限控制:执行器维度进行权限控制,管理员拥有全量权限,普通用户需要分配执行器权限后才允许相关操作;\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDevelopment\u003c/h2\u003e\u003ca id=\"user-content-development\" class=\"anchor\" aria-label=\"Permalink: Development\" href=\"#development\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2015-11月,XXL-JOB终于RELEASE了第一个大版本V1.0, 随后我将之发布到OSCHINA,XXL-JOB在OSCHINA上获得了@红薯的热门推荐,同期分别达到了OSCHINA的“热门动弹”排行第一和git.oschina的开源软件月热度排行第一,在此特别感谢红薯,感谢大家的关注和支持。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2015-12月,我将XXL-JOB发表到我司内部知识库,并且得到内部同事认可。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2016-01月,我司展开XXL-JOB的内部接入和定制工作,在此感谢袁某和尹某两位同事的贡献,同时也感谢内部其他给与关注与支持的同事。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2017-05-13,在上海举办的 \"\u003ca href=\"https://www.oschina.net/event/2236961\" rel=\"nofollow\"\u003e第62期开源中国源创会\u003c/a\u003e\" 的 \"放码过来\" 环节,我登台对XXL-JOB做了演讲,台下五百位在场观众反响热烈(\u003ca href=\"https://www.oschina.net/question/2686220_2242120\" rel=\"nofollow\"\u003e图文回顾\u003c/a\u003e )。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2017-10-22,又拍云 Open Talk 联合 Spring Cloud 中国社区举办的 \"\u003ca href=\"https://opentalk.upyun.com/303.html\" rel=\"nofollow\"\u003e进击的微服务实战派上海站\u003c/a\u003e\",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2017-12-11,XXL-JOB有幸参会《\u003ca href=\"http://bj2017.archsummit.com/\" rel=\"nofollow\"\u003eInfoQ ArchSummit全球架构师峰会\u003c/a\u003e》,并被拍拍贷架构总监\"杨波老师\"在专题 \"\u003ca href=\"http://bj2017.archsummit.com/training/2\" rel=\"nofollow\"\u003e微服务原理、基础架构和开源实践\u003c/a\u003e\" 中现场介绍。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2017-12-18,XXL-JOB参与\"\u003ca href=\"http://www.oschina.net/project/top_cn_2017?sort=1\" rel=\"nofollow\"\u003e2017年度最受欢迎中国开源软件\u003c/a\u003e\"评比,在当时已录入的约九千个国产开源项目中角逐,最终进入了前30强。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2018-01-15,XXL-JOB参与\"\u003ca href=\"https://www.oschina.net/news/92438/2017-mayun-top-50\" rel=\"nofollow\"\u003e2017码云最火开源项目\u003c/a\u003e\"评比,在当时已录入的约六千五百个码云项目中角逐,最终进去了前20强。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2018-04-14,iTechPlus在上海举办的 \"\u003ca href=\"http://www.itdks.com/eventlist/detail/2065\" rel=\"nofollow\"\u003e2018互联网开发者大会\u003c/a\u003e\",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2018-05-27,在上海举办的 \"\u003ca href=\"https://www.oschina.net/event/2278742\" rel=\"nofollow\"\u003e第75期开源中国源创会\u003c/a\u003e\" 的 \"架构\" 主题专场,我登台进行“基础架构与中间件图谱”主题演讲,台下上千位在场观众反响热烈(\u003ca href=\"https://www.oschina.net/question/3802184_2280606\" rel=\"nofollow\"\u003e图文回顾\u003c/a\u003e )。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2018-12-05,XXL-JOB参与\"\u003ca href=\"https://www.oschina.net/project/top_cn_2018?sort=1\" rel=\"nofollow\"\u003e2018年度最受欢迎中国开源软件\u003c/a\u003e\"评比,在当时已录入的一万多个开源项目中角逐,最终排名第19名。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2019-12-10,XXL-JOB参与\"\u003ca href=\"https://www.oschina.net/project/top_cn_2019\" rel=\"nofollow\"\u003e2019年度最受欢迎中国开源软件\u003c/a\u003e\"评比,在当时已录入的一万多个开源项目中角逐,最终排名\"开发框架和基础组件类\"第9名。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2020-11-16,XXL-JOB参与\"\u003ca href=\"https://www.oschina.net/project/top_cn_2020\" rel=\"nofollow\"\u003e2020年度最受欢迎中国开源软件\u003c/a\u003e\"评比,在当时已录入的一万多个开源项目中角逐,最终排名\"开发框架和基础组件类\"第8名。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2021-12-06,XXL-JOB参与\"\u003ca href=\"https://www.oschina.net/project/top_cn_2021\" rel=\"nofollow\"\u003e2021年度OSC中国开源项目评选\u003c/a\u003e \"评比,在当时已录入的一万多个开源项目中角逐,最终当选\"最受欢迎项目\"。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e于2024-11-06,XXL-JOB经 GitCode 官方评审,获得 “G-Star项目毕业认证”。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)。\n据最新统计, 自2016-01-21接入至2017-12-01期间,该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp dir=\"auto\"\u003e至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止最新统计时间为止,XXL-JOB已接入的公司包括不限于:\u003c/p\u003e\n\u003cdiv class=\"snippet-clipboard-content notranslate position-relative overflow-auto\" data-snippet-clipboard-copy-content=\"- 1、大众点评【美团点评】\n- 2、山东学而网络科技有限公司;\n- 3、安徽慧通互联科技有限公司;\n- 4、人人聚财金服;\n- 5、上海棠棣信息科技股份有限公司\n- 6、运满满【运满满】\n- 7、米其林 (中国区)【米其林】\n- 8、妈妈联盟\n- 9、九樱天下(北京)信息技术有限公司\n- 10、万普拉斯科技有限公司【一加手机】\n- 11、上海亿保健康管理有限公司\n- 12、海尔馨厨【海尔】\n- 13、河南大红包电子商务有限公司\n- 14、成都顺点科技有限公司\n- 15、深圳市怡亚通\n- 16、深圳麦亚信科技股份有限公司\n- 17、上海博莹科技信息技术有限公司\n- 18、中国平安科技有限公司【中国平安】\n- 19、杭州知时信息科技有限公司\n- 20、博莹科技(上海)有限公司\n- 21、成都依能股份有限责任公司\n- 22、湖南高阳通联信息技术有限公司\n- 23、深圳市邦德文化发展有限公司\n- 24、福建阿思可网络教育有限公司\n- 25、优信二手车【优信】\n- 26、上海悠游堂投资发展股份有限公司【悠游堂】\n- 27、北京粉笔蓝天科技有限公司\n- 28、中秀科技(无锡)有限公司\n- 29、武汉空心科技有限公司\n- 30、北京蚂蚁风暴科技有限公司\n- 31、四川互宜达科技有限公司\n- 32、钱包行云(北京)科技有限公司\n- 33、重庆欣才集团\n- 34、咪咕互动娱乐有限公司【中国移动】\n- 35、北京诺亦腾科技有限公司\n- 36、增长引擎(北京)信息技术有限公司\n- 37、北京英贝思科技有限公司\n- 38、刚泰集团\n- 39、深圳泰久信息系统股份有限公司\n- 40、随行付支付有限公司\n- 41、广州瀚农网络科技有限公司\n- 42、享点科技有限公司\n- 43、杭州比智科技有限公司\n- 44、圳临界线网络科技有限公司\n- 45、广州知识圈网络科技有限公司\n- 46、国誉商业上海有限公司\n- 47、海尔消费金融有限公司,嗨付、够花【海尔】\n- 48、广州巴图鲁信息科技有限公司\n- 49、深圳市鹏海运电子数据交换有限公司\n- 50、深圳市亚飞电子商务有限公司\n- 51、上海趣医网络有限公司\n- 52、聚金资本\n- 53、北京父母邦网络科技有限公司\n- 54、中山元赫软件科技有限公司\n- 55、中商惠民(北京)电子商务有限公司\n- 56、凯京集团\n- 57、华夏票联(北京)科技有限公司\n- 58、拍拍贷【拍拍贷】\n- 59、北京尚德机构在线教育有限公司\n- 60、任子行股份有限公司\n- 61、北京时态电子商务有限公司\n- 62、深圳卷皮网络科技有限公司\n- 63、北京安博通科技股份有限公司\n- 64、未来无线网\n- 65、厦门瓷禧网络有限公司\n- 66、北京递蓝科软件股份有限公司\n- 67、郑州创海软件科技公司\n- 68、北京国槐信息科技有限公司\n- 69、浪潮软件集团\n- 70、多立恒(北京)信息技术有限公司\n- 71、广州极迅客信息科技有限公司\n- 72、赫基(中国)集团股份有限公司\n- 73、海投汇\n- 74、上海润益创业孵化器管理股份有限公司\n- 75、汉纳森(厦门)数据股份有限公司\n- 76、安信信托\n- 77、岚儒财富\n- 78、捷道软件\n- 79、湖北享七网络科技有限公司\n- 80、湖南创发科技责任有限公司\n- 81、深圳小安时代互联网金融服务有限公司\n- 82、湖北享七网络科技有限公司\n- 83、钱包行云(北京)科技有限公司\n- 84、360金融【360】\n- 85、易企秀\n- 86、摩贝(上海)生物科技有限公司\n- 87、广东芯智慧科技有限公司\n- 88、联想集团【联想】\n- 89、怪兽充电\n- 90、行圆汽车\n- 91、深圳店店通科技邮箱公司\n- 92、京东【京东】\n- 93、米庄理财\n- 94、咖啡易融\n- 95、梧桐诚选\n- 96、恒大地产【恒大】\n- 97、昆明龙慧\n- 98、上海涩瑶软件\n- 99、易信【网易】\n- 100、铜板街\n- 101、杭州云若网络科技有限公司\n- 102、特百惠(中国)有限公司\n- 103、常山众卡运力供应链管理有限公司\n- 104、深圳立创电子商务有限公司\n- 105、杭州智诺科技股份有限公司\n- 106、北京云漾信息科技有限公司\n- 107、深圳市多银科技有限公司\n- 108、亲宝宝\n- 109、上海博卡软件科技有限公司\n- 110、智慧树在线教育平台\n- 111、米族金融\n- 112、北京辰森世纪\n- 113、云南滇医通\n- 114、广州市分领网络科技有限责任公司\n- 115、浙江微能科技有限公司\n- 116、上海馨飞电子商务有限公司\n- 117、上海宝尊电子商务有限公司\n- 118、直客通科技技术有限公司\n- 119、科度科技有限公司\n- 120、上海数慧系统技术有限公司\n- 121、我的医药网\n- 122、多粉平台\n- 123、铁甲二手机\n- 124、上海海新得数据技术有限公司\n- 125、深圳市珍爱网信息技术有限公司【珍爱网】\n- 126、小蜜蜂\n- 127、吉荣数科技\n- 128、上海恺域信息科技有限公司\n- 129、广州荔支网络有限公司【荔枝FM】\n- 130、杭州闪宝科技有限公司\n- 131、北京互联新网科技发展有限公司\n- 132、誉道科技\n- 133、山西兆盛房地产开发有限公司\n- 134、北京蓝睿通达科技有限公司\n- 135、月亮小屋(中国)有限公司【蓝月亮】\n- 136、青岛国瑞信息技术有限公司\n- 137、博雅云计算(北京)有限公司\n- 138、华泰证券香港子公司\n- 139、杭州东方通信软件技术有限公司\n- 140、武汉博晟安全技术股份有限公司\n- 141、深圳市六度人和科技有限公司\n- 142、杭州趣维科技有限公司(小影)\n- 143、宁波单车侠之家科技有限公司【单车侠】\n- 144、丁丁云康信息科技(北京)有限公司\n- 145、云钱袋\n- 146、南京中兴力维\n- 147、上海矽昌通信技术有限公司\n- 148、深圳萨科科技\n- 149、中通服创立科技有限责任公司\n- 150、深圳市对庄科技有限公司\n- 151、上证所信息网络有限公司\n- 152、杭州火烧云科技有限公司【婚礼纪】\n- 153、天津青芒果科技有限公司【芒果头条】\n- 154、长飞光纤光缆股份有限公司\n- 155、世纪凯歌(北京)医疗科技有限公司\n- 156、浙江霖梓控股有限公司\n- 157、江西腾飞网络技术有限公司\n- 158、安迅物流有限公司\n- 159、肉联网\n- 160、北京北广梯影广告传媒有限公司\n- 161、上海数慧系统技术有限公司\n- 162、大志天成\n- 163、上海云鹊医\n- 164、上海云鹊医\n- 165、墨迹天气【墨迹天气】\n- 166、上海逸橙信息科技有限公司\n- 167、沅朋物联\n- 168、杭州恒生云融网络科技有限公司\n- 169、绿米联创\n- 170、重庆易宠科技有限公司\n- 171、安徽引航科技有限公司(乐职网)\n- 172、上海数联医信企业发展有限公司\n- 173、良彬建材\n- 174、杭州求是同创网络科技有限公司\n- 175、荷马国际\n- 176、点雇网\n- 177、深圳市华星光电技术有限公司\n- 178、厦门神州鹰软件科技有限公司\n- 179、深圳市招商信诺人寿保险有限公司\n- 180、上海好屋网信息技术有限公司\n- 181、海信集团【海信】\n- 182、信凌可信息科技(上海)有限公司\n- 183、长春天成科技发展有限公司\n- 184、用友金融信息技术股份有限公司【用友】\n- 185、北京咖啡易融有限公司\n- 186、国投瑞银基金管理有限公司\n- 187、晋松(上海)网络信息技术有限公司\n- 188、深圳市随手科技有限公司【随手记】\n- 189、深圳水务科技有限公司\n- 190、易企秀【易企秀】\n- 191、北京磁云科技\n- 192、南京蜂泰互联网科技有限公司\n- 193、章鱼直播\n- 194、奖多多科技\n- 195、天津市神州商龙科技股份有限公司\n- 196、岩心科技\n- 197、车码科技(北京)有限公司\n- 198、贵阳市投资控股集团\n- 199、康旗股份\n- 200、龙腾出行\n- 201、杭州华量软件\n- 202、合肥顶岭医疗科技有限公司\n- 203、重庆表达式科技有限公司\n- 204、上海米道信息科技有限公司\n- 205、北京益友会科技有限公司\n- 206、北京融贯电子商务有限公司\n- 207、中国外汇交易中心\n- 208、中国外运股份有限公司\n- 209、中国上海晓圈教育科技有限公司\n- 210、普联软件股份有限公司\n- 211、北京科蓝软件股份有限公司\n- 212、江苏斯诺物联科技有限公司\n- 213、北京搜狐-狐友【搜狐】\n- 214、新大陆网商金融\n- 215、山东神码中税信息科技有限公司\n- 216、河南汇顺网络科技有限公司\n- 217、北京华夏思源科技发展有限公司\n- 218、上海东普信息科技有限公司\n- 219、上海鸣勃网络科技有限公司\n- 220、广东学苑教育发展有限公司\n- 221、深圳强时科技有限公司\n- 222、上海云砺信息科技有限公司\n- 223、重庆愉客行网络有限公司\n- 224、数云\n- 225、国家电网运检部\n- 226、杭州找趣\n- 227、浩鲸云计算科技股份有限公司\n- 228、科大讯飞【科大讯飞】\n- 229、杭州行装网络科技有限公司\n- 230、即有分期金融\n- 231、深圳法司德信息科技有限公司\n- 232、上海博复信息科技有限公司\n- 233、杭州云嘉云计算有限公司\n- 234、有家民宿(有家美宿)\n- 235、北京赢销通软件技术有限公司\n- 236、浙江聚有财金融服务外包有限公司\n- 237、易族智汇(北京)科技有限公司\n- 238、合肥顶岭医疗科技开发有限公司\n- 239、车船宝(深圳)旭珩科技有限公司)\n- 240、广州富力地产有限公司\n- 241、氢课(上海)教育科技有限公司\n- 242、武汉氪细胞网络技术有限公司\n- 243、杭州有云科技有限公司\n- 244、上海仙豆智能机器人有限公司\n- 245、拉卡拉支付股份有限公司【拉卡拉】\n- 246、虎彩印艺股份有限公司\n- 247、北京数微科技有限公司\n- 248、广东智瑞科技有限公司\n- 249、找钢网\n- 250、九机网\n- 251、杭州跑跑网络科技有限公司\n- 252、深圳未来云集\n- 253、杭州每日给力科技有限公司\n- 254、上海齐犇信息科技有限公司\n- 255、滴滴出行【滴滴】\n- 256、合肥云诊信息科技有限公司\n- 257、云知声智能科技股份有限公司\n- 258、南京坦道科技有限公司\n- 259、爱乐优(二手平台)\n- 260、猫眼电影(私有化部署)【猫眼电影】\n- 261、美团大象(私有化部署)【美团大象】\n- 262、作业帮教育科技(北京)有限公司【作业帮】\n- 263、北京小年糕互联网技术有限公司\n- 264、山东矩阵软件工程股份有限公司\n- 265、陕西国驿软件科技有限公司\n- 266、君开信息科技\n- 267、村鸟网络科技有限责任公司\n- 268、云南国际信托有限公司\n- 269、金智教育\n- 270、珠海市筑巢科技有限公司\n- 271、上海百胜软件股份有限公司\n- 272、深圳市科盾科技有限公司\n- 273、哈啰出行【哈啰】\n- 274、途虎养车【途虎】\n- 275、卡思优派人力资源集团\n- 276、南京观为智慧软件科技有限公司\n- 277、杭州城市大脑科技有限公司\n- 278、猿辅导【猿辅导】\n- 279、洛阳健创网络科技有限公司\n- 280、魔力耳朵\n- 281、亿阳信通\n- 282、上海招鲤科技有限公司\n- 283、四川商旅无忧科技服务有限公司\n- 284、UU跑腿\n- 285、北京老虎证券【老虎证券】\n- 286、悠活省吧(北京)网络科技有限公司\n- 287、F5未来商店\n- 288、深圳环阳通信息技术有限公司\n- 289、遠傳電信\n- 290、作业帮(北京)教育科技有限公司【作业帮】\n- 291、成都科鸿智信科技有限公司\n- 292、北京木屋时代科技有限公司\n- 293、大学通(哈尔滨)科技有限责任公司\n- 294、浙江华坤道威数据科技有限公司\n- 295、吉祥航空【吉祥航空】\n- 296、南京圆周网络科技有限公司\n- 297、广州市洋葱omall电子商务\n- 298、天津联物科技有限公司\n- 299、跑哪儿科技(北京)有限公司\n- 300、深圳市美西西餐饮有限公司(喜茶)\n- 301、平安不动产有限公司【平安】\n- 302、江苏中海昇物联科技有限公司\n- 303、湖南牙医帮科技有限公司\n- 304、重庆民航凯亚信息技术有限公司(易通航)\n- 305、递易(上海)智能科技有限公司\n- 306、亚朵\n- 307、浙江新课堂教育股份有限公司\n- 308、北京蜂创科技有限公司\n- 309、德一智慧城市信息系统有限公司\n- 310、北京翼点科技有限公司\n- 311、湖南智数新维度信息科技有限公司\n- 312、北京玖扬博文文化发展有限公司\n- 313、上海宇珩信息科技有限公司\n- 314、全景智联(武汉)科技有限公司\n- 315、天津易客满国际物流有限公司\n- 316、南京爱福路汽车科技有限公司\n- 317、我房旅居集团\n- 318、湛江亲邻科技有限公司\n- 319、深圳市姜科网络有限公司\n- 320、青岛日日顺物流有限公司\n- 321、南京太川信息技术有限公司\n- 322、美图之家科技有限公司【美图】\n- 323、南京太川信息技术有限公司\n- 324、众薪科技(北京)有限公司\n- 325、武汉安安物联科技有限公司\n- 326、北京智客朗道网络科技有限公司\n- 327、深圳市超级猩猩健身管理管理有限公司\n- 328、重庆达志科技有限公司\n- 329、上海享评信息科技有限公司\n- 330、薪得付信息科技\n- 331、跟谁学\n- 332、中道(苏州)旅游网络科技有限公司\n- 333、广州小卫科技有限公司\n- 334、上海非码网络科技有限公司\n- 335、途家网网络技术(北京)有限公司【途家】\n- 336、广州辉凡信息科技有限公司\n- 337、天维尔信息科技股份有限公司\n- 338、上海极豆科技有限公司\n- 339、苏州触达信息技术有限公司\n- 340、北京热云科技有限公司\n- 341、中智企服(北京)科技有限公司\n- 342、易联云计算(杭州)有限责任公司\n- 343、青岛航空股份有限公司【青岛航空】\n- 344、山西博睿通科技有限公司\n- 345、网易杭州网络有限公司【网易】\n- 346、北京果果乐学科技有限公司\n- 347、百望股份有限公司\n- 348、中保金服(深圳)科技有限公司\n- 349、天津运友物流科技股份有限公司\n- 350、广东创能科技股份有限公司\n- 351、上海倚博信息科技有限公司\n- 352、深圳百果园实业(集团)股份有限公司\n- 353、广州细刻网络科技有限公司\n- 354、武汉鸿业众创科技有限公司\n- 355、金锡科技(广州)有限公司\n- 356、易瑞国际电子商务有限公司\n- 357、奇点云\n- 358、中视信息科技有限公司\n- 359、开源项目:datax-web\n- 360、云知声智能科技股份有限公司\n- 361、开源项目:bboss\n- 362、成都深驾科技有限公司\n- 363、FunPlus【趣加】\n- 364、杭州创匠信科技有限公司\n- 365、龙匠(北京)科技发展有限公司\n- 366、广州一链通互联网科技有限公司\n- 367、上海星艾网络科技有限公司\n- 368、虎博网络技术(上海)有限公司\n- 369、青岛优米信息技术有限公司\n- 370、八维通科技有限公司\n- 371、烟台合享智星数据科技有限公司\n- 372、东吴证券股份有限公司\n- 373、中通云仓股份有限公司【中通】\n- 374、北京加菲猫科技有限公司\n- 375、北京匠心演绎科技有限公司\n- 376、宝贝走天下\n- 377、厦门众库科技有限公司\n- 378、海通证券数据中心\n- 389、湖南快乐通宝小额贷款有限公司\n- 380、浙江大华技术股份有限公司\n- 381、杭州魔筷科技有限公司\n- 382、青岛掌讯通区块链科技有限公司\n- 383、新大陆金融科技\n- 384、常州玺拓软件科技有限公司\n- 385、北京正保网格教育科技有限公司\n- 386、统一企业(中国)投资有限公司【统一】\n- 387、微革网络科技有限公司\n- 388、杭州融易算科技有限公司\n- 399、青岛上啥班网络科技有限公司\n- 390、京东酒世界\n- 391、杭州爱博仕科技有限公司\n- 392、五星金服控股有限公司\n- 393、福建乐摩物联科技有限公司\n- 394、百炼智能科技有限公司\n- 395、山东能源数智云科技有限公司\n- 396、招商局能源运输股份有限公司\n- 397、三一集团【三一】\n- 398、东巴文(深圳)健康管理有限公司\n- 399、索易软件\n- 400、深圳市宁远科技有限公司\n- 401、熙牛医疗\n- 402、南京智鹤电子科技有限公司\n- 403、嘀嗒出行【嘀嗒出行】\n- 404、广州虎牙信息科技有限公司【虎牙】\n- 405、广州欧莱雅百库网络科技有限公司【欧莱雅】\n- 406、微微科技有限公司\n- 407、我爱我家房地产经纪有限公司【我爱我家】\n- 408、九号发现\n- 409、薪人薪事\n- 410、武汉氪细胞网络技术有限公司\n- 411、广州市斯凯奇商业有限公司\n- 412、微淼商学院\n- 413、杭州车盛科技有限公司\n- 414、深兰科技(上海)有限公司\n- 415、安徽中科美络信息技术有限公司\n- 416、比亚迪汽车工业有限公司【比亚迪】\n- 417、湖南小桔信息技术有限公司\n- 418、安徽科大国创软件科技有限公司\n- 419、克而瑞\n- 420、陕西云基华海信息技术有限公司\n- 421、安徽深宁科技有限公司\n- 422、广东康爱多数字健康有限公司\n- 423、嘉里电子商务\n- 424、上海时代光华教育发展有限公司\n- 425、CityDo\n- 426、上海禹知信息科技有限公司\n- 427、广东智瑞科技有限公司\n- 428、西安爱铭网络科技有限公司\n- 429、心医国际数字医疗系统(大连)有限公司\n- 430、乐其电商\n- 431、锐达科技\n- 432、天津长城滨银汽车金融有限公司\n- 433、代码网\n- 434、东莞市东城乔伦软件开发工作室\n- 435、浙江百应科技有限公司\n- 436、上海力爱帝信息技术有限公司(Red E)\n- 437、云徙科技有限公司\n- 438、北京康智乐思网络科技有限公司【大姨吗APP】\n- 439、安徽开元瞬视科技有限公司\n- 440、立方\n- 441、厦门纵行科技\n- 442、乐山-菲尼克斯半导体有限公司\n- 443、武汉光谷联合集团有限公司\n- 444、上海金仕达软件科技有限公司\n- 445、深圳易世通达科技有限公司\n- 446、爱动超越人工智能科技(北京)有限责任公司\n- 447、迪普信(北京)科技有限公司\n- 448、掌站科技(北京)有限公司\n- 449、深圳市华云中盛股份有限公司\n- 450、上海原圈科技有限公司\n- 451、广州赞赏信息科技有限公司\n- 452、Amber Group\n- 453、德威国际货运代理(上海)公司\n- 454、浙江杰夫兄弟智慧科技有限公司\n- 455、信也科技\n- 456、开思时代科技(深圳)有限公司\n- 457、大连槐德科技有限公司\n- 458、同程生活\n- 459、松果出行\n- 460、企鹅杏仁集团\n- 461、宁波科云信息科技有限公司\n- 462、上海格蓝威驰信息科技有限公司\n- 463、杭州趣淘鲸科技有限公司\n- 464、湖州市数字惠民科技有限公司\n- 465、乐普(北京)医疗器械股份有限公司\n- 466、广州市晴川高新技术开发有限公司\n- 467、山西缇客科技有限公司\n- 468、徐州卡西穆电子商务有限公司\n- 469、格创东智科技有限公司\n- 470、世纪龙信息网络有限责任公司\n- 471、邦道科技有限公司\n- 472、河南中盟新云科技股份有限公司\n- 473、横琴人寿保险有限公司\n- 474、上海海隆华钟信息技术有限公司\n- 475、上海久湛\n- 476、上海仙豆智能机器人有限公司\n- 477、广州汇尚网络科技有限公司\n- 478、深圳市阿卡索资讯股份有限公司\n- 479、青岛佳家康健康管理有限责任公司\n- 480、蓝城兄弟\n- 481、成都天府通金融服务股份有限公司\n- 482、深圳云镖网络科技有限公司\n- 483、上海影创科技\n- 484、成都艾拉物联\n- 485、北京客邻尚品网络技术有限公司\n- 486、IT实战联盟\n- 487、杭州尤拉夫科技有限公司\n- 488、中大检测(湖南)股份有限公司\n- 489、江苏电老虎工业互联网股份有限公司\n- 490、上海助通信息科技有限公司\n- 491、北京符节科技有限公司\n- 492、杭州英祐科技有限公司\n- 493、江苏电老虎工业互联网股份有限公司\n- 494、深圳市点猫科技有限公司\n- 495、杭州天音\n- 496、深圳市二十一科技互联网有限公司\n- 497、海南海口翎度科技\n- 498、北京小趣智品科技有限公司\n- 499、广州石竹计算机软件有限公司\n- 500、深圳市惟客数据科技有限公司\n- 501、中国医疗器械有限公司\n- 502、上海云谦科技有限公司\n- 503、上海磐农信息科技有限公司\n- 504、广州领航食品有限公司\n- 505、青岛掌讯通区块链科技有限公司\n- 506、北京新网数码信息技术有限公司\n- 507、超体信息科技(深圳)有限公司\n- 508、长沙店帮手信息科技有限公司\n- 509、上海助弓装饰工程有限公司\n- 510、杭州寻联网络科技有限公司\n- 511、成都大淘客科技有限公司\n- 512、松果出行\n- 513、深圳市唤梦科技有限公司\n- 514、上汽集团商用车技术中心\n- 515、北京中航讯科技股份有限公司\n- 516、北龙中网(北京)科技有限责任公司\n- 517、前海超级前台(深圳)信息技术有限公司\n- 518、上海中商网络股份有限公司\n- 519、上海助通信息科技有限公司\n- 520、宁波聚臻智能科技有限公司\n- 521、上海零动数码科技股份有限公司\n- 522、浙江学海教育科技有限公司\n- 523、聚学云(山东)信息技术有限公司\n- 524、多氟多新材料股份有限公司\n- 525、智慧眼科技股份有限公司\n- 526、广东智通人才连锁股份有限公司\n- 527、世纪开元智印互联科技集团股份有限公司\n- 528、北京理想汽车【理想汽车】\n- 529、巽逸科技(重庆)有限公司\n- 530、义乌购电子商务有限公司\n- 531、深圳市珂莱蒂尔服饰有限公司\n- 532、江西国泰利民信息科技有限公司\n- 533、广西广电大数据科技有限公司\n- 534、杭州艾麦科技有限公司\n- 535、广州小滴科技有限公司\n- 536、佳缘科技股份有限公司\n- 537、上海深擎信息科技有限公司\n- 538、武商网\n- 539、福建民本信息科技有限公司\n- 540、杭州惠合信息科技有限公司\n- 541、厦门爱立得科技有限公司\n- 542、成都拟合未来科技有限公司\n- 543、宁波聚臻智能科技有限公司\n- 544、广东百慧科技有限公司\n- 545、笨马网络\n- 546、深圳市信安数字科技有限公司\n- 547、深圳市思乐数据技术有限公司\n- 548、四川绿源集科技有限公司\n- 549、湖南云医链生物科技有限公司\n- 550、杭州源诚科技有限公司\n- 551、北京开课吧科技有限公司\n- 552、北京多来点信息技术有限公司\n- 553、JEECG BOOT低代码开发平台\n- 554、苏州同元软控信息技术有限公司\n- 555、江苏大泰信息技术有限公司\n- 556、北京大禹汇智\n- 557、北京盛哲科技有限公司\n- 558、广州钛动科技有限公司\n- 559、北京大禹汇智科技有限公司\n- 560、湖南鼎翰文化股份有限公司\n- 561、苏州安软信息科技有限公司\n- 562、芒果tv\n- 563、上海艺赛旗软件股份有限公司\n- 564、中盈优创资讯科技有限公司\n- 565、乐乎公寓\n- 566、启明信息\n- 567、苏州安软\n- 568、南京富金的软件科技有限公司\n- 569、深圳市新科聚合网络技术有限公司\n- 570、你好现在(北京)科技股份有限公司\n- 571、360考试宝典\n- 572、北京一零科技有限公司\n- 573、厦门星纵信息\n- 574、Dalligent Solusi Indonesia\n- 575、深圳华普物联科技有限公司\n- 576、深圳行健自动化股份有限公司\n- 577、深圳市富融信息科技服务有限公司\n- 578、蓝鸟云\n- 579、上海澎博财经资讯有限公司\n- 580、北京小鸦科技有限公司\n- 581、杭州盈泉云科技有限公司\n- 582、惟客数据\n- 583、GOSO香蜜闺秀\n- 584、普乐师(上海)数字科技有限公司\n- 585、西安市雁塔区咖北堂网络科技部\n- 586、宁波聚臻智能科技有限公司\n- 587、普乐师数字科技有限公司\n- 588、江苏蟹联网科技有限公司\n- 589、杭州未智科技有限公司\n- 590、安吉智行物流有限公司\n- 591、华生大家居集团有限公司\n- 592、美心食品(广州)有限公司\n- 593、货拉拉【货拉拉APP】\n- 594、杭州思韬瑞科技有限公司\n- 595、杭州玖融科技有限公司\n- 596、北京优海网络科技有限公司\n- 597、浙江大维高新技术股份有限公司\n- 598、粤港澳大湾区数字经济研究院\n- 599、普康(杭州)健康科技有限公司\n- 600、华西证券股份有限公司【华西证券】\n- 601、杭州海康机器人股份有限公司【海康】\n- 602、河南宸邦信息技术有限公司\n- 603、成都次元节点网络科技有限公司\n- 604、富士康科技集团【富士康】\n- 605、青岛东软载波科技股份有限公司\n- 606、小菊快跑科技有限公司\n- 607、视源股份\n- 608、宁波聚臻智能科技有限公司\n- 609、阔天科技有限公司\n- 610、网宿科技有限公司\n- 611、南京梵鼎信息技术有限公司\n- 612、房天下【房天下】\n- 613、特瓦特能源科技有限公司\n- 614、拓迪智能科技有限公司\n- 615、东软集团【东软】\n- 616、开普云\n- 617、领课网络\n- 618、南京特维软件有限公司\n- 619、福建易联众保睿通信息科技有限公司\n- 620、浙江核心同花顺金融科技有限公司【同花顺】\n- 621、浙江博观瑞思科技有限公司\n- 622、北京新美互通科技有限公司\n- 623、北京有生博大软件股份有限公司\n- 624、时代中国\n- 625、鱼泡网\n- 626、一粒方糖(安徽)科技有限公司\n- 627、北京外研在线数字科技有限公司\n- 628、德电(中国)通信技术有限公司\n- 629、杭州寻联网络科技有限公司\n- 630、橙联(中国)有限公司\n- 631、北京承启通科技有限公司\n- 632、银联数据服务有限公司【银联】\n- 633、上海晶确科技有限公司\n- 634、亚信科技有限公司\n- 635、福建新航物联网科技有限公司\n- 636、上扬软件\n- 637、深蓝汽车科技有限公司\n- 638、南昌节点汇智科技有限公司\n- 639、锐明技术\n- 640、再造再生健康科技有限公司\n- 641、华宝证券\n- 642、卓正医疗\n- 643、深圳湛信科技\n- 644、陕西鑫众为软件有限公司\n- 645、深圳市润农科技有限公司\n- 646、庚商教育智能科技有限公司\n- 647、杭州祎声科技\n- 648、四川久远银海软件股份有限公司\n- 649、GeeFox极狐低代码\n- 650、浙江和仁科技股份有限公司\n- 651、宁波聚臻智能科技有限公司\n- 652、福建福昕软件开发股份有限公司【福昕】\n- 653、广州中长康达信息技术有限公司\n- 654、武汉趣改信息科技有限公司\n- 655、北京华夏思源科技发展有限公司\n- 656、宁波关关通科技有限公司\n- 657、青岛吕氏餐饮有限公司\n- 658、杭州乐刻网络科技有限公司\n- 659、上海红瓦信息科技有限公司\n- 660、陕西旅小宝信息科技有限公司\n- 661、中科卓恒(大连)科技有限公司\n- 662、北京华益精点生物技术有限公司\n- 663、马士基(中国)航运有限公司【马士基】\n- 664、陕西美咚网络科技有限公司\n- 665、山东新北洋信息技术股份有限公司 \n- 666、福建中瑞文化发展集团有限公司\n- 667、黑龙江省建工集团有限责任公司【黑龙江省建工】\n- 668、志信能达安全科技(广州)有限公司\n- 669、重庆开源共创科技有限公司\n- 670、华泰人寿保险股份有限公司【华泰人寿】\n- 671、成都盘古纵横集团\n- 672、北京果果乐学科技有限公司\n- 673、北京凌云空间科技有限公司\n- 674、临工重机股份有限公司\n- 675、上海热风时尚管理集团【热风】\n- 676、HashKey Exchange\n- 677、傲基(深圳)跨境商务股份有限公司\n- 678、青岛文达通科技股份有限公司\n- 679、杭州普罗云科技有限公司\n- 680、浙江云鹭科技有限公司\n- 681、中山市芯宏柿网络科技有限公司\n- 682、深圳市家家顺物联科技\n- 683、重庆斑西科技有限公司\n- 684、福建省泰古信息技术有限公司\n- 685、贵阳永青仪电科技有限公司\n- 686、广州博依特智能信息科技有限公司\n- 687、河南宠呦呦信息技术有限公司\n- 688、陕西星邑空间技术有限公司\n- 689、广东西欧克实业有限公司\n- 690、唱吧麦颂KTV\n- ……\"\u003e\u003cpre class=\"notranslate\"\u003e\u003ccode\u003e- 1、大众点评【美团点评】\n- 2、山东学而网络科技有限公司;\n- 3、安徽慧通互联科技有限公司;\n- 4、人人聚财金服;\n- 5、上海棠棣信息科技股份有限公司\n- 6、运满满【运满满】\n- 7、米其林 (中国区)【米其林】\n- 8、妈妈联盟\n- 9、九樱天下(北京)信息技术有限公司\n- 10、万普拉斯科技有限公司【一加手机】\n- 11、上海亿保健康管理有限公司\n- 12、海尔馨厨【海尔】\n- 13、河南大红包电子商务有限公司\n- 14、成都顺点科技有限公司\n- 15、深圳市怡亚通\n- 16、深圳麦亚信科技股份有限公司\n- 17、上海博莹科技信息技术有限公司\n- 18、中国平安科技有限公司【中国平安】\n- 19、杭州知时信息科技有限公司\n- 20、博莹科技(上海)有限公司\n- 21、成都依能股份有限责任公司\n- 22、湖南高阳通联信息技术有限公司\n- 23、深圳市邦德文化发展有限公司\n- 24、福建阿思可网络教育有限公司\n- 25、优信二手车【优信】\n- 26、上海悠游堂投资发展股份有限公司【悠游堂】\n- 27、北京粉笔蓝天科技有限公司\n- 28、中秀科技(无锡)有限公司\n- 29、武汉空心科技有限公司\n- 30、北京蚂蚁风暴科技有限公司\n- 31、四川互宜达科技有限公司\n- 32、钱包行云(北京)科技有限公司\n- 33、重庆欣才集团\n- 34、咪咕互动娱乐有限公司【中国移动】\n- 35、北京诺亦腾科技有限公司\n- 36、增长引擎(北京)信息技术有限公司\n- 37、北京英贝思科技有限公司\n- 38、刚泰集团\n- 39、深圳泰久信息系统股份有限公司\n- 40、随行付支付有限公司\n- 41、广州瀚农网络科技有限公司\n- 42、享点科技有限公司\n- 43、杭州比智科技有限公司\n- 44、圳临界线网络科技有限公司\n- 45、广州知识圈网络科技有限公司\n- 46、国誉商业上海有限公司\n- 47、海尔消费金融有限公司,嗨付、够花【海尔】\n- 48、广州巴图鲁信息科技有限公司\n- 49、深圳市鹏海运电子数据交换有限公司\n- 50、深圳市亚飞电子商务有限公司\n- 51、上海趣医网络有限公司\n- 52、聚金资本\n- 53、北京父母邦网络科技有限公司\n- 54、中山元赫软件科技有限公司\n- 55、中商惠民(北京)电子商务有限公司\n- 56、凯京集团\n- 57、华夏票联(北京)科技有限公司\n- 58、拍拍贷【拍拍贷】\n- 59、北京尚德机构在线教育有限公司\n- 60、任子行股份有限公司\n- 61、北京时态电子商务有限公司\n- 62、深圳卷皮网络科技有限公司\n- 63、北京安博通科技股份有限公司\n- 64、未来无线网\n- 65、厦门瓷禧网络有限公司\n- 66、北京递蓝科软件股份有限公司\n- 67、郑州创海软件科技公司\n- 68、北京国槐信息科技有限公司\n- 69、浪潮软件集团\n- 70、多立恒(北京)信息技术有限公司\n- 71、广州极迅客信息科技有限公司\n- 72、赫基(中国)集团股份有限公司\n- 73、海投汇\n- 74、上海润益创业孵化器管理股份有限公司\n- 75、汉纳森(厦门)数据股份有限公司\n- 76、安信信托\n- 77、岚儒财富\n- 78、捷道软件\n- 79、湖北享七网络科技有限公司\n- 80、湖南创发科技责任有限公司\n- 81、深圳小安时代互联网金融服务有限公司\n- 82、湖北享七网络科技有限公司\n- 83、钱包行云(北京)科技有限公司\n- 84、360金融【360】\n- 85、易企秀\n- 86、摩贝(上海)生物科技有限公司\n- 87、广东芯智慧科技有限公司\n- 88、联想集团【联想】\n- 89、怪兽充电\n- 90、行圆汽车\n- 91、深圳店店通科技邮箱公司\n- 92、京东【京东】\n- 93、米庄理财\n- 94、咖啡易融\n- 95、梧桐诚选\n- 96、恒大地产【恒大】\n- 97、昆明龙慧\n- 98、上海涩瑶软件\n- 99、易信【网易】\n- 100、铜板街\n- 101、杭州云若网络科技有限公司\n- 102、特百惠(中国)有限公司\n- 103、常山众卡运力供应链管理有限公司\n- 104、深圳立创电子商务有限公司\n- 105、杭州智诺科技股份有限公司\n- 106、北京云漾信息科技有限公司\n- 107、深圳市多银科技有限公司\n- 108、亲宝宝\n- 109、上海博卡软件科技有限公司\n- 110、智慧树在线教育平台\n- 111、米族金融\n- 112、北京辰森世纪\n- 113、云南滇医通\n- 114、广州市分领网络科技有限责任公司\n- 115、浙江微能科技有限公司\n- 116、上海馨飞电子商务有限公司\n- 117、上海宝尊电子商务有限公司\n- 118、直客通科技技术有限公司\n- 119、科度科技有限公司\n- 120、上海数慧系统技术有限公司\n- 121、我的医药网\n- 122、多粉平台\n- 123、铁甲二手机\n- 124、上海海新得数据技术有限公司\n- 125、深圳市珍爱网信息技术有限公司【珍爱网】\n- 126、小蜜蜂\n- 127、吉荣数科技\n- 128、上海恺域信息科技有限公司\n- 129、广州荔支网络有限公司【荔枝FM】\n- 130、杭州闪宝科技有限公司\n- 131、北京互联新网科技发展有限公司\n- 132、誉道科技\n- 133、山西兆盛房地产开发有限公司\n- 134、北京蓝睿通达科技有限公司\n- 135、月亮小屋(中国)有限公司【蓝月亮】\n- 136、青岛国瑞信息技术有限公司\n- 137、博雅云计算(北京)有限公司\n- 138、华泰证券香港子公司\n- 139、杭州东方通信软件技术有限公司\n- 140、武汉博晟安全技术股份有限公司\n- 141、深圳市六度人和科技有限公司\n- 142、杭州趣维科技有限公司(小影)\n- 143、宁波单车侠之家科技有限公司【单车侠】\n- 144、丁丁云康信息科技(北京)有限公司\n- 145、云钱袋\n- 146、南京中兴力维\n- 147、上海矽昌通信技术有限公司\n- 148、深圳萨科科技\n- 149、中通服创立科技有限责任公司\n- 150、深圳市对庄科技有限公司\n- 151、上证所信息网络有限公司\n- 152、杭州火烧云科技有限公司【婚礼纪】\n- 153、天津青芒果科技有限公司【芒果头条】\n- 154、长飞光纤光缆股份有限公司\n- 155、世纪凯歌(北京)医疗科技有限公司\n- 156、浙江霖梓控股有限公司\n- 157、江西腾飞网络技术有限公司\n- 158、安迅物流有限公司\n- 159、肉联网\n- 160、北京北广梯影广告传媒有限公司\n- 161、上海数慧系统技术有限公司\n- 162、大志天成\n- 163、上海云鹊医\n- 164、上海云鹊医\n- 165、墨迹天气【墨迹天气】\n- 166、上海逸橙信息科技有限公司\n- 167、沅朋物联\n- 168、杭州恒生云融网络科技有限公司\n- 169、绿米联创\n- 170、重庆易宠科技有限公司\n- 171、安徽引航科技有限公司(乐职网)\n- 172、上海数联医信企业发展有限公司\n- 173、良彬建材\n- 174、杭州求是同创网络科技有限公司\n- 175、荷马国际\n- 176、点雇网\n- 177、深圳市华星光电技术有限公司\n- 178、厦门神州鹰软件科技有限公司\n- 179、深圳市招商信诺人寿保险有限公司\n- 180、上海好屋网信息技术有限公司\n- 181、海信集团【海信】\n- 182、信凌可信息科技(上海)有限公司\n- 183、长春天成科技发展有限公司\n- 184、用友金融信息技术股份有限公司【用友】\n- 185、北京咖啡易融有限公司\n- 186、国投瑞银基金管理有限公司\n- 187、晋松(上海)网络信息技术有限公司\n- 188、深圳市随手科技有限公司【随手记】\n- 189、深圳水务科技有限公司\n- 190、易企秀【易企秀】\n- 191、北京磁云科技\n- 192、南京蜂泰互联网科技有限公司\n- 193、章鱼直播\n- 194、奖多多科技\n- 195、天津市神州商龙科技股份有限公司\n- 196、岩心科技\n- 197、车码科技(北京)有限公司\n- 198、贵阳市投资控股集团\n- 199、康旗股份\n- 200、龙腾出行\n- 201、杭州华量软件\n- 202、合肥顶岭医疗科技有限公司\n- 203、重庆表达式科技有限公司\n- 204、上海米道信息科技有限公司\n- 205、北京益友会科技有限公司\n- 206、北京融贯电子商务有限公司\n- 207、中国外汇交易中心\n- 208、中国外运股份有限公司\n- 209、中国上海晓圈教育科技有限公司\n- 210、普联软件股份有限公司\n- 211、北京科蓝软件股份有限公司\n- 212、江苏斯诺物联科技有限公司\n- 213、北京搜狐-狐友【搜狐】\n- 214、新大陆网商金融\n- 215、山东神码中税信息科技有限公司\n- 216、河南汇顺网络科技有限公司\n- 217、北京华夏思源科技发展有限公司\n- 218、上海东普信息科技有限公司\n- 219、上海鸣勃网络科技有限公司\n- 220、广东学苑教育发展有限公司\n- 221、深圳强时科技有限公司\n- 222、上海云砺信息科技有限公司\n- 223、重庆愉客行网络有限公司\n- 224、数云\n- 225、国家电网运检部\n- 226、杭州找趣\n- 227、浩鲸云计算科技股份有限公司\n- 228、科大讯飞【科大讯飞】\n- 229、杭州行装网络科技有限公司\n- 230、即有分期金融\n- 231、深圳法司德信息科技有限公司\n- 232、上海博复信息科技有限公司\n- 233、杭州云嘉云计算有限公司\n- 234、有家民宿(有家美宿)\n- 235、北京赢销通软件技术有限公司\n- 236、浙江聚有财金融服务外包有限公司\n- 237、易族智汇(北京)科技有限公司\n- 238、合肥顶岭医疗科技开发有限公司\n- 239、车船宝(深圳)旭珩科技有限公司)\n- 240、广州富力地产有限公司\n- 241、氢课(上海)教育科技有限公司\n- 242、武汉氪细胞网络技术有限公司\n- 243、杭州有云科技有限公司\n- 244、上海仙豆智能机器人有限公司\n- 245、拉卡拉支付股份有限公司【拉卡拉】\n- 246、虎彩印艺股份有限公司\n- 247、北京数微科技有限公司\n- 248、广东智瑞科技有限公司\n- 249、找钢网\n- 250、九机网\n- 251、杭州跑跑网络科技有限公司\n- 252、深圳未来云集\n- 253、杭州每日给力科技有限公司\n- 254、上海齐犇信息科技有限公司\n- 255、滴滴出行【滴滴】\n- 256、合肥云诊信息科技有限公司\n- 257、云知声智能科技股份有限公司\n- 258、南京坦道科技有限公司\n- 259、爱乐优(二手平台)\n- 260、猫眼电影(私有化部署)【猫眼电影】\n- 261、美团大象(私有化部署)【美团大象】\n- 262、作业帮教育科技(北京)有限公司【作业帮】\n- 263、北京小年糕互联网技术有限公司\n- 264、山东矩阵软件工程股份有限公司\n- 265、陕西国驿软件科技有限公司\n- 266、君开信息科技\n- 267、村鸟网络科技有限责任公司\n- 268、云南国际信托有限公司\n- 269、金智教育\n- 270、珠海市筑巢科技有限公司\n- 271、上海百胜软件股份有限公司\n- 272、深圳市科盾科技有限公司\n- 273、哈啰出行【哈啰】\n- 274、途虎养车【途虎】\n- 275、卡思优派人力资源集团\n- 276、南京观为智慧软件科技有限公司\n- 277、杭州城市大脑科技有限公司\n- 278、猿辅导【猿辅导】\n- 279、洛阳健创网络科技有限公司\n- 280、魔力耳朵\n- 281、亿阳信通\n- 282、上海招鲤科技有限公司\n- 283、四川商旅无忧科技服务有限公司\n- 284、UU跑腿\n- 285、北京老虎证券【老虎证券】\n- 286、悠活省吧(北京)网络科技有限公司\n- 287、F5未来商店\n- 288、深圳环阳通信息技术有限公司\n- 289、遠傳電信\n- 290、作业帮(北京)教育科技有限公司【作业帮】\n- 291、成都科鸿智信科技有限公司\n- 292、北京木屋时代科技有限公司\n- 293、大学通(哈尔滨)科技有限责任公司\n- 294、浙江华坤道威数据科技有限公司\n- 295、吉祥航空【吉祥航空】\n- 296、南京圆周网络科技有限公司\n- 297、广州市洋葱omall电子商务\n- 298、天津联物科技有限公司\n- 299、跑哪儿科技(北京)有限公司\n- 300、深圳市美西西餐饮有限公司(喜茶)\n- 301、平安不动产有限公司【平安】\n- 302、江苏中海昇物联科技有限公司\n- 303、湖南牙医帮科技有限公司\n- 304、重庆民航凯亚信息技术有限公司(易通航)\n- 305、递易(上海)智能科技有限公司\n- 306、亚朵\n- 307、浙江新课堂教育股份有限公司\n- 308、北京蜂创科技有限公司\n- 309、德一智慧城市信息系统有限公司\n- 310、北京翼点科技有限公司\n- 311、湖南智数新维度信息科技有限公司\n- 312、北京玖扬博文文化发展有限公司\n- 313、上海宇珩信息科技有限公司\n- 314、全景智联(武汉)科技有限公司\n- 315、天津易客满国际物流有限公司\n- 316、南京爱福路汽车科技有限公司\n- 317、我房旅居集团\n- 318、湛江亲邻科技有限公司\n- 319、深圳市姜科网络有限公司\n- 320、青岛日日顺物流有限公司\n- 321、南京太川信息技术有限公司\n- 322、美图之家科技有限公司【美图】\n- 323、南京太川信息技术有限公司\n- 324、众薪科技(北京)有限公司\n- 325、武汉安安物联科技有限公司\n- 326、北京智客朗道网络科技有限公司\n- 327、深圳市超级猩猩健身管理管理有限公司\n- 328、重庆达志科技有限公司\n- 329、上海享评信息科技有限公司\n- 330、薪得付信息科技\n- 331、跟谁学\n- 332、中道(苏州)旅游网络科技有限公司\n- 333、广州小卫科技有限公司\n- 334、上海非码网络科技有限公司\n- 335、途家网网络技术(北京)有限公司【途家】\n- 336、广州辉凡信息科技有限公司\n- 337、天维尔信息科技股份有限公司\n- 338、上海极豆科技有限公司\n- 339、苏州触达信息技术有限公司\n- 340、北京热云科技有限公司\n- 341、中智企服(北京)科技有限公司\n- 342、易联云计算(杭州)有限责任公司\n- 343、青岛航空股份有限公司【青岛航空】\n- 344、山西博睿通科技有限公司\n- 345、网易杭州网络有限公司【网易】\n- 346、北京果果乐学科技有限公司\n- 347、百望股份有限公司\n- 348、中保金服(深圳)科技有限公司\n- 349、天津运友物流科技股份有限公司\n- 350、广东创能科技股份有限公司\n- 351、上海倚博信息科技有限公司\n- 352、深圳百果园实业(集团)股份有限公司\n- 353、广州细刻网络科技有限公司\n- 354、武汉鸿业众创科技有限公司\n- 355、金锡科技(广州)有限公司\n- 356、易瑞国际电子商务有限公司\n- 357、奇点云\n- 358、中视信息科技有限公司\n- 359、开源项目:datax-web\n- 360、云知声智能科技股份有限公司\n- 361、开源项目:bboss\n- 362、成都深驾科技有限公司\n- 363、FunPlus【趣加】\n- 364、杭州创匠信科技有限公司\n- 365、龙匠(北京)科技发展有限公司\n- 366、广州一链通互联网科技有限公司\n- 367、上海星艾网络科技有限公司\n- 368、虎博网络技术(上海)有限公司\n- 369、青岛优米信息技术有限公司\n- 370、八维通科技有限公司\n- 371、烟台合享智星数据科技有限公司\n- 372、东吴证券股份有限公司\n- 373、中通云仓股份有限公司【中通】\n- 374、北京加菲猫科技有限公司\n- 375、北京匠心演绎科技有限公司\n- 376、宝贝走天下\n- 377、厦门众库科技有限公司\n- 378、海通证券数据中心\n- 389、湖南快乐通宝小额贷款有限公司\n- 380、浙江大华技术股份有限公司\n- 381、杭州魔筷科技有限公司\n- 382、青岛掌讯通区块链科技有限公司\n- 383、新大陆金融科技\n- 384、常州玺拓软件科技有限公司\n- 385、北京正保网格教育科技有限公司\n- 386、统一企业(中国)投资有限公司【统一】\n- 387、微革网络科技有限公司\n- 388、杭州融易算科技有限公司\n- 399、青岛上啥班网络科技有限公司\n- 390、京东酒世界\n- 391、杭州爱博仕科技有限公司\n- 392、五星金服控股有限公司\n- 393、福建乐摩物联科技有限公司\n- 394、百炼智能科技有限公司\n- 395、山东能源数智云科技有限公司\n- 396、招商局能源运输股份有限公司\n- 397、三一集团【三一】\n- 398、东巴文(深圳)健康管理有限公司\n- 399、索易软件\n- 400、深圳市宁远科技有限公司\n- 401、熙牛医疗\n- 402、南京智鹤电子科技有限公司\n- 403、嘀嗒出行【嘀嗒出行】\n- 404、广州虎牙信息科技有限公司【虎牙】\n- 405、广州欧莱雅百库网络科技有限公司【欧莱雅】\n- 406、微微科技有限公司\n- 407、我爱我家房地产经纪有限公司【我爱我家】\n- 408、九号发现\n- 409、薪人薪事\n- 410、武汉氪细胞网络技术有限公司\n- 411、广州市斯凯奇商业有限公司\n- 412、微淼商学院\n- 413、杭州车盛科技有限公司\n- 414、深兰科技(上海)有限公司\n- 415、安徽中科美络信息技术有限公司\n- 416、比亚迪汽车工业有限公司【比亚迪】\n- 417、湖南小桔信息技术有限公司\n- 418、安徽科大国创软件科技有限公司\n- 419、克而瑞\n- 420、陕西云基华海信息技术有限公司\n- 421、安徽深宁科技有限公司\n- 422、广东康爱多数字健康有限公司\n- 423、嘉里电子商务\n- 424、上海时代光华教育发展有限公司\n- 425、CityDo\n- 426、上海禹知信息科技有限公司\n- 427、广东智瑞科技有限公司\n- 428、西安爱铭网络科技有限公司\n- 429、心医国际数字医疗系统(大连)有限公司\n- 430、乐其电商\n- 431、锐达科技\n- 432、天津长城滨银汽车金融有限公司\n- 433、代码网\n- 434、东莞市东城乔伦软件开发工作室\n- 435、浙江百应科技有限公司\n- 436、上海力爱帝信息技术有限公司(Red E)\n- 437、云徙科技有限公司\n- 438、北京康智乐思网络科技有限公司【大姨吗APP】\n- 439、安徽开元瞬视科技有限公司\n- 440、立方\n- 441、厦门纵行科技\n- 442、乐山-菲尼克斯半导体有限公司\n- 443、武汉光谷联合集团有限公司\n- 444、上海金仕达软件科技有限公司\n- 445、深圳易世通达科技有限公司\n- 446、爱动超越人工智能科技(北京)有限责任公司\n- 447、迪普信(北京)科技有限公司\n- 448、掌站科技(北京)有限公司\n- 449、深圳市华云中盛股份有限公司\n- 450、上海原圈科技有限公司\n- 451、广州赞赏信息科技有限公司\n- 452、Amber Group\n- 453、德威国际货运代理(上海)公司\n- 454、浙江杰夫兄弟智慧科技有限公司\n- 455、信也科技\n- 456、开思时代科技(深圳)有限公司\n- 457、大连槐德科技有限公司\n- 458、同程生活\n- 459、松果出行\n- 460、企鹅杏仁集团\n- 461、宁波科云信息科技有限公司\n- 462、上海格蓝威驰信息科技有限公司\n- 463、杭州趣淘鲸科技有限公司\n- 464、湖州市数字惠民科技有限公司\n- 465、乐普(北京)医疗器械股份有限公司\n- 466、广州市晴川高新技术开发有限公司\n- 467、山西缇客科技有限公司\n- 468、徐州卡西穆电子商务有限公司\n- 469、格创东智科技有限公司\n- 470、世纪龙信息网络有限责任公司\n- 471、邦道科技有限公司\n- 472、河南中盟新云科技股份有限公司\n- 473、横琴人寿保险有限公司\n- 474、上海海隆华钟信息技术有限公司\n- 475、上海久湛\n- 476、上海仙豆智能机器人有限公司\n- 477、广州汇尚网络科技有限公司\n- 478、深圳市阿卡索资讯股份有限公司\n- 479、青岛佳家康健康管理有限责任公司\n- 480、蓝城兄弟\n- 481、成都天府通金融服务股份有限公司\n- 482、深圳云镖网络科技有限公司\n- 483、上海影创科技\n- 484、成都艾拉物联\n- 485、北京客邻尚品网络技术有限公司\n- 486、IT实战联盟\n- 487、杭州尤拉夫科技有限公司\n- 488、中大检测(湖南)股份有限公司\n- 489、江苏电老虎工业互联网股份有限公司\n- 490、上海助通信息科技有限公司\n- 491、北京符节科技有限公司\n- 492、杭州英祐科技有限公司\n- 493、江苏电老虎工业互联网股份有限公司\n- 494、深圳市点猫科技有限公司\n- 495、杭州天音\n- 496、深圳市二十一科技互联网有限公司\n- 497、海南海口翎度科技\n- 498、北京小趣智品科技有限公司\n- 499、广州石竹计算机软件有限公司\n- 500、深圳市惟客数据科技有限公司\n- 501、中国医疗器械有限公司\n- 502、上海云谦科技有限公司\n- 503、上海磐农信息科技有限公司\n- 504、广州领航食品有限公司\n- 505、青岛掌讯通区块链科技有限公司\n- 506、北京新网数码信息技术有限公司\n- 507、超体信息科技(深圳)有限公司\n- 508、长沙店帮手信息科技有限公司\n- 509、上海助弓装饰工程有限公司\n- 510、杭州寻联网络科技有限公司\n- 511、成都大淘客科技有限公司\n- 512、松果出行\n- 513、深圳市唤梦科技有限公司\n- 514、上汽集团商用车技术中心\n- 515、北京中航讯科技股份有限公司\n- 516、北龙中网(北京)科技有限责任公司\n- 517、前海超级前台(深圳)信息技术有限公司\n- 518、上海中商网络股份有限公司\n- 519、上海助通信息科技有限公司\n- 520、宁波聚臻智能科技有限公司\n- 521、上海零动数码科技股份有限公司\n- 522、浙江学海教育科技有限公司\n- 523、聚学云(山东)信息技术有限公司\n- 524、多氟多新材料股份有限公司\n- 525、智慧眼科技股份有限公司\n- 526、广东智通人才连锁股份有限公司\n- 527、世纪开元智印互联科技集团股份有限公司\n- 528、北京理想汽车【理想汽车】\n- 529、巽逸科技(重庆)有限公司\n- 530、义乌购电子商务有限公司\n- 531、深圳市珂莱蒂尔服饰有限公司\n- 532、江西国泰利民信息科技有限公司\n- 533、广西广电大数据科技有限公司\n- 534、杭州艾麦科技有限公司\n- 535、广州小滴科技有限公司\n- 536、佳缘科技股份有限公司\n- 537、上海深擎信息科技有限公司\n- 538、武商网\n- 539、福建民本信息科技有限公司\n- 540、杭州惠合信息科技有限公司\n- 541、厦门爱立得科技有限公司\n- 542、成都拟合未来科技有限公司\n- 543、宁波聚臻智能科技有限公司\n- 544、广东百慧科技有限公司\n- 545、笨马网络\n- 546、深圳市信安数字科技有限公司\n- 547、深圳市思乐数据技术有限公司\n- 548、四川绿源集科技有限公司\n- 549、湖南云医链生物科技有限公司\n- 550、杭州源诚科技有限公司\n- 551、北京开课吧科技有限公司\n- 552、北京多来点信息技术有限公司\n- 553、JEECG BOOT低代码开发平台\n- 554、苏州同元软控信息技术有限公司\n- 555、江苏大泰信息技术有限公司\n- 556、北京大禹汇智\n- 557、北京盛哲科技有限公司\n- 558、广州钛动科技有限公司\n- 559、北京大禹汇智科技有限公司\n- 560、湖南鼎翰文化股份有限公司\n- 561、苏州安软信息科技有限公司\n- 562、芒果tv\n- 563、上海艺赛旗软件股份有限公司\n- 564、中盈优创资讯科技有限公司\n- 565、乐乎公寓\n- 566、启明信息\n- 567、苏州安软\n- 568、南京富金的软件科技有限公司\n- 569、深圳市新科聚合网络技术有限公司\n- 570、你好现在(北京)科技股份有限公司\n- 571、360考试宝典\n- 572、北京一零科技有限公司\n- 573、厦门星纵信息\n- 574、Dalligent Solusi Indonesia\n- 575、深圳华普物联科技有限公司\n- 576、深圳行健自动化股份有限公司\n- 577、深圳市富融信息科技服务有限公司\n- 578、蓝鸟云\n- 579、上海澎博财经资讯有限公司\n- 580、北京小鸦科技有限公司\n- 581、杭州盈泉云科技有限公司\n- 582、惟客数据\n- 583、GOSO香蜜闺秀\n- 584、普乐师(上海)数字科技有限公司\n- 585、西安市雁塔区咖北堂网络科技部\n- 586、宁波聚臻智能科技有限公司\n- 587、普乐师数字科技有限公司\n- 588、江苏蟹联网科技有限公司\n- 589、杭州未智科技有限公司\n- 590、安吉智行物流有限公司\n- 591、华生大家居集团有限公司\n- 592、美心食品(广州)有限公司\n- 593、货拉拉【货拉拉APP】\n- 594、杭州思韬瑞科技有限公司\n- 595、杭州玖融科技有限公司\n- 596、北京优海网络科技有限公司\n- 597、浙江大维高新技术股份有限公司\n- 598、粤港澳大湾区数字经济研究院\n- 599、普康(杭州)健康科技有限公司\n- 600、华西证券股份有限公司【华西证券】\n- 601、杭州海康机器人股份有限公司【海康】\n- 602、河南宸邦信息技术有限公司\n- 603、成都次元节点网络科技有限公司\n- 604、富士康科技集团【富士康】\n- 605、青岛东软载波科技股份有限公司\n- 606、小菊快跑科技有限公司\n- 607、视源股份\n- 608、宁波聚臻智能科技有限公司\n- 609、阔天科技有限公司\n- 610、网宿科技有限公司\n- 611、南京梵鼎信息技术有限公司\n- 612、房天下【房天下】\n- 613、特瓦特能源科技有限公司\n- 614、拓迪智能科技有限公司\n- 615、东软集团【东软】\n- 616、开普云\n- 617、领课网络\n- 618、南京特维软件有限公司\n- 619、福建易联众保睿通信息科技有限公司\n- 620、浙江核心同花顺金融科技有限公司【同花顺】\n- 621、浙江博观瑞思科技有限公司\n- 622、北京新美互通科技有限公司\n- 623、北京有生博大软件股份有限公司\n- 624、时代中国\n- 625、鱼泡网\n- 626、一粒方糖(安徽)科技有限公司\n- 627、北京外研在线数字科技有限公司\n- 628、德电(中国)通信技术有限公司\n- 629、杭州寻联网络科技有限公司\n- 630、橙联(中国)有限公司\n- 631、北京承启通科技有限公司\n- 632、银联数据服务有限公司【银联】\n- 633、上海晶确科技有限公司\n- 634、亚信科技有限公司\n- 635、福建新航物联网科技有限公司\n- 636、上扬软件\n- 637、深蓝汽车科技有限公司\n- 638、南昌节点汇智科技有限公司\n- 639、锐明技术\n- 640、再造再生健康科技有限公司\n- 641、华宝证券\n- 642、卓正医疗\n- 643、深圳湛信科技\n- 644、陕西鑫众为软件有限公司\n- 645、深圳市润农科技有限公司\n- 646、庚商教育智能科技有限公司\n- 647、杭州祎声科技\n- 648、四川久远银海软件股份有限公司\n- 649、GeeFox极狐低代码\n- 650、浙江和仁科技股份有限公司\n- 651、宁波聚臻智能科技有限公司\n- 652、福建福昕软件开发股份有限公司【福昕】\n- 653、广州中长康达信息技术有限公司\n- 654、武汉趣改信息科技有限公司\n- 655、北京华夏思源科技发展有限公司\n- 656、宁波关关通科技有限公司\n- 657、青岛吕氏餐饮有限公司\n- 658、杭州乐刻网络科技有限公司\n- 659、上海红瓦信息科技有限公司\n- 660、陕西旅小宝信息科技有限公司\n- 661、中科卓恒(大连)科技有限公司\n- 662、北京华益精点生物技术有限公司\n- 663、马士基(中国)航运有限公司【马士基】\n- 664、陕西美咚网络科技有限公司\n- 665、山东新北洋信息技术股份有限公司 \n- 666、福建中瑞文化发展集团有限公司\n- 667、黑龙江省建工集团有限责任公司【黑龙江省建工】\n- 668、志信能达安全科技(广州)有限公司\n- 669、重庆开源共创科技有限公司\n- 670、华泰人寿保险股份有限公司【华泰人寿】\n- 671、成都盘古纵横集团\n- 672、北京果果乐学科技有限公司\n- 673、北京凌云空间科技有限公司\n- 674、临工重机股份有限公司\n- 675、上海热风时尚管理集团【热风】\n- 676、HashKey Exchange\n- 677、傲基(深圳)跨境商务股份有限公司\n- 678、青岛文达通科技股份有限公司\n- 679、杭州普罗云科技有限公司\n- 680、浙江云鹭科技有限公司\n- 681、中山市芯宏柿网络科技有限公司\n- 682、深圳市家家顺物联科技\n- 683、重庆斑西科技有限公司\n- 684、福建省泰古信息技术有限公司\n- 685、贵阳永青仪电科技有限公司\n- 686、广州博依特智能信息科技有限公司\n- 687、河南宠呦呦信息技术有限公司\n- 688、陕西星邑空间技术有限公司\n- 689、广东西欧克实业有限公司\n- 690、唱吧麦颂KTV\n- ……\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e更多接入的公司,欢迎在 \u003ca href=\"https://github.com/xuxueli/xxl-job/issues/1\" data-hovercard-type=\"issue\" data-hovercard-url=\"/xuxueli/xxl-job/issues/1/hovercard\"\u003e登记地址\u003c/a\u003e 登记,登记仅仅为了产品推广。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp dir=\"auto\"\u003e欢迎大家的关注和使用,XXL-JOB也将拥抱变化,持续发展。\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eContributing\u003c/h2\u003e\u003ca id=\"user-content-contributing\" class=\"anchor\" aria-label=\"Permalink: Contributing\" href=\"#contributing\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eContributions are welcome! Open a pull request to fix a bug, or open an \u003ca href=\"https://github.com/xuxueli/xxl-job/issues/\"\u003eIssue\u003c/a\u003e to discuss a new feature or change.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e欢迎参与项目贡献!比如提交PR修复一个bug,或者新建 \u003ca href=\"https://github.com/xuxueli/xxl-job/issues/\"\u003eIssue\u003c/a\u003e 讨论新特性或者变更。\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCopyright and License\u003c/h2\u003e\u003ca id=\"user-content-copyright-and-license\" class=\"anchor\" aria-label=\"Permalink: Copyright and License\" href=\"#copyright-and-license\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis product is open source and free, and will continue to provide free community technical support. Individual or enterprise users are free to access and use.\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLicensed under the GNU General Public License (GPL) v3.\u003c/li\u003e\n\u003cli\u003eCopyright (c) 2015-present, xuxueli.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。如有需要可 \u003ca href=\"https://www.xuxueli.com/page/community.html\" rel=\"nofollow\"\u003e邮件联系\u003c/a\u003e 作者免费获取项目授权。\u003c/p\u003e\n\u003c/article\u003e","loaded":true,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":[{"level":3,"text":"XXL-JOB","anchor":"xxl-job","htmlText":"XXL-JOB"},{"level":2,"text":"Introduction","anchor":"introduction","htmlText":"Introduction"},{"level":2,"text":"Sponsor","anchor":"sponsor","htmlText":"Sponsor"},{"level":3,"text":"金牌赞助方","anchor":"金牌赞助方","htmlText":"金牌赞助方"},{"level":2,"text":"Documentation","anchor":"documentation","htmlText":"Documentation"},{"level":2,"text":"Communication","anchor":"communication","htmlText":"Communication"},{"level":2,"text":"Features","anchor":"features","htmlText":"Features"},{"level":2,"text":"Development","anchor":"development","htmlText":"Development"},{"level":2,"text":"Contributing","anchor":"contributing","htmlText":"Contributing"},{"level":2,"text":"Copyright and License","anchor":"copyright-and-license","htmlText":"Copyright and License"}],"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job"}},{"displayName":"LICENSE","repoName":"xxl-job","refName":"master","path":"LICENSE","preferredFileType":"license","tabName":"GPL-3.0","richText":null,"loaded":false,"timedOut":false,"errorMessage":null,"headerInfo":{"toc":null,"siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job"}}],"overviewFilesProcessingTime":0}},"appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-708ec8ade250.js","githubDevUrl":null,"enabled_features":{"copilot_workspace":null,"code_nav_ui_events":false,"overview_shared_code_dropdown_button":true,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}}</script> <div data-target="react-partial.reactRoot"><style data-styled="true" data-styled-version="5.3.11">.iVEunk{margin-top:16px;margin-bottom:16px;}/*!sc*/ .jzuOtQ{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}/*!sc*/ .bGojzy{margin-bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;row-gap:16px;}/*!sc*/ .iNSVHo{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding-bottom:16px;padding-top:8px;}/*!sc*/ .bVgnfw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;gap:8px;}/*!sc*/ @media screen and (max-width:320px){.bVgnfw{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .CEgMp{position:relative;}/*!sc*/ @media screen and (max-width:380px){.CEgMp .ref-selector-button-text-container{max-width:80px;}}/*!sc*/ @media screen and (max-width:320px){.CEgMp{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}.CEgMp .overview-ref-selector{width:100%;}.CEgMp .overview-ref-selector > span{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;}.CEgMp .overview-ref-selector > span > span[data-component="text"]{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}}/*!sc*/ .gMOVLe[data-size="medium"]{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:0;}/*!sc*/ .gMOVLe[data-size="medium"] svg{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .gMOVLe[data-size="medium"] > span{width:inherit;}/*!sc*/ .gUkoLg{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .bZBlpz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;}/*!sc*/ .lhTYNA{margin-right:4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .ffLUq{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}/*!sc*/ .bmcJak{min-width:0;}/*!sc*/ .fLXEGX{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1079px){.fLXEGX{display:none;}}/*!sc*/ .lmSMZJ[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));padding-left:4px;padding-right:4px;}/*!sc*/ .lmSMZJ[data-size="medium"] span[data-component="leadingVisual"]{margin-right:4px !important;}/*!sc*/ .dqfxud{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1080px){.dqfxud{display:none;}}/*!sc*/ @media screen and (max-width:543px){.dqfxud{display:none;}}/*!sc*/ .fGwBZA[data-size="medium"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jxTzTd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;gap:8px;}/*!sc*/ .gqqBXN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:8px;}/*!sc*/ @media screen and (max-width:543px){.gqqBXN{display:none;}}/*!sc*/ .dzXgxt{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (max-width:1011px){.dzXgxt{display:none;}}/*!sc*/ .iWFGlI{margin-left:8px;margin-right:8px;margin:0;}/*!sc*/ .vcvyP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:160px;}/*!sc*/ .YUPas{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:1012px){.YUPas{display:none;}}/*!sc*/ .izFOf{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}/*!sc*/ @media screen and (min-width:544px){.izFOf{display:none;}}/*!sc*/ .vIPPs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:16px;}/*!sc*/ .fdROMU{width:100%;border-collapse:separate;border-spacing:0;border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;table-layout:fixed;overflow:unset;}/*!sc*/ .jGKpsv{height:0px;line-height:0px;}/*!sc*/ .jGKpsv tr{height:0px;font-size:0px;}/*!sc*/ .jdgHnn{padding:16px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;text-align:left;height:40px;}/*!sc*/ .jdgHnn th{padding-left:16px;background-color:var(--bgColor-muted,var(--color-canvas-subtle,#f6f8fa));}/*!sc*/ .bQivRW{width:100%;border-top-left-radius:6px;}/*!sc*/ @media screen and (min-width:544px){.bQivRW{display:none;}}/*!sc*/ .ldkMIO{width:40%;border-top-left-radius:6px;}/*!sc*/ @media screen and (max-width:543px){.ldkMIO{display:none;}}/*!sc*/ .jMbWeI{text-align:right;padding-right:16px;width:136px;border-top-right-radius:6px;}/*!sc*/ .gpqjiB{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));font-size:12px;height:40px;}/*!sc*/ .dzCJzi{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;min-width:273px;padding:8px;}/*!sc*/ @media screen and (min-width:544px){.dzCJzi{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;}}/*!sc*/ .eNCcrz{text-align:center;vertical-align:center;height:40px;border-top:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));}/*!sc*/ .bHTcCe{border-top:1px solid var(--borderColor-default,var(--color-border-default));cursor:pointer;}/*!sc*/ .csrIcr{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;gap:16px;}/*!sc*/ .bUQNHB{border:1px solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));border-radius:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ @media screen and (max-width:543px){.bUQNHB{margin-left:-16px;margin-right:-16px;max-width:calc(100% + 32px);}}/*!sc*/ @media screen and (min-width:544px){.bUQNHB{max-width:100%;}}/*!sc*/ .jPdcfu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid;border-bottom-color:var(--borderColor-default,var(--color-border-default,#d0d7de));-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-right:8px;position:-webkit-sticky;position:sticky;top:0;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));z-index:1;border-top-left-radius:6px;border-top-right-radius:6px;}/*!sc*/ .iphEWz{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-bottom:none;max-width:100%;padding-left:8px;padding-right:8px;}/*!sc*/ .hUCRAk{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .cwoBXV[data-size="medium"]{color:var(--fgColor-muted,var(--color-fg-subtle,#6e7781));padding-left:8px;padding-right:8px;}/*!sc*/ .QkQOb{padding:32px;overflow:auto;}/*!sc*/ data-styled.g1[id="Box-sc-g0xbh4-0"]{content:"iVEunk,jzuOtQ,bGojzy,iNSVHo,bVgnfw,CEgMp,gMOVLe,gUkoLg,bZBlpz,lhTYNA,ffLUq,bmcJak,fLXEGX,lmSMZJ,dqfxud,fGwBZA,jxTzTd,gqqBXN,dzXgxt,iWFGlI,vcvyP,YUPas,izFOf,vIPPs,fdROMU,jGKpsv,jdgHnn,bQivRW,ldkMIO,jMbWeI,gpqjiB,dzCJzi,eNCcrz,bHTcCe,csrIcr,bUQNHB,jPdcfu,iphEWz,hUCRAk,cwoBXV,QkQOb,"}/*!sc*/ .brGdpi{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip:rect(0,0,0,0);clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}/*!sc*/ data-styled.g5[id="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0"]{content:"brGdpi,"}/*!sc*/ .hWlpPn{position:relative;display:inline-block;}/*!sc*/ .hWlpPn::after{position:absolute;z-index:1000000;display:none;padding:0.5em 0.75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--tooltip-fgColor,var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff)));text-align:center;-webkit-text-decoration:none;text-decoration:none;text-shadow:none;text-transform:none;-webkit-letter-spacing:normal;-moz-letter-spacing:normal;-ms-letter-spacing:normal;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);background:var(--tooltip-bgColor,var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f)));border-radius:6px;opacity:0;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{display:inline-block;-webkit-text-decoration:none;text-decoration:none;-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{display:table-cell;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{top:100%;right:50%;margin-top:6px;}/*!sc*/ .hWlpPn.tooltipped-se::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-sw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{right:50%;bottom:100%;margin-bottom:6px;}/*!sc*/ .hWlpPn.tooltipped-ne::after{right:auto;left:50%;margin-left:-16px;}/*!sc*/ .hWlpPn.tooltipped-nw::after{margin-right:-16px;}/*!sc*/ .hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{-webkit-transform:translateX(50%);-ms-transform:translateX(50%);transform:translateX(50%);}/*!sc*/ .hWlpPn.tooltipped-w::after{right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-e::after{bottom:50%;left:100%;margin-left:6px;-webkit-transform:translateY(50%);-ms-transform:translateY(50%);transform:translateY(50%);}/*!sc*/ .hWlpPn.tooltipped-multiline::after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:separate;}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{right:auto;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);}/*!sc*/ .hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{right:100%;}/*!sc*/ .hWlpPn.tooltipped-align-right-2::after{right:0;margin-right:0;}/*!sc*/ .hWlpPn.tooltipped-align-left-2::after{left:0;margin-left:0;}/*!sc*/ data-styled.g16[id="Tooltip__TooltipBase-sc-17tf59c-0"]{content:"hWlpPn,"}/*!sc*/ .liVpTx{display:inline-block;overflow:hidden;text-overflow:ellipsis;vertical-align:top;white-space:nowrap;max-width:125px;}/*!sc*/ data-styled.g18[id="Truncate__StyledTruncate-sc-23o1d2-0"]{content:"liVpTx,"}/*!sc*/ </style> <!-- --> <!-- --> <div class="Box-sc-g0xbh4-0 iVEunk"><div class="Box-sc-g0xbh4-0 jzuOtQ"><div class="Box-sc-g0xbh4-0 bGojzy"></div></div><div class="Box-sc-g0xbh4-0 iNSVHo"><div class="Box-sc-g0xbh4-0 bVgnfw"><div class="Box-sc-g0xbh4-0 CEgMp"><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="master branch" data-testid="anchor-button" class="Box-sc-g0xbh4-0 gMOVLe prc-Button-ButtonBase-c50BI overview-ref-selector width-full" data-loading="false" data-size="medium" data-variant="default" aria-describedby="branch-picker-repos-header-ref-selector-loading-announcement" id="branch-picker-repos-header-ref-selector"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x"><div class="Box-sc-g0xbh4-0 bZBlpz"><div class="Box-sc-g0xbh4-0 lhTYNA"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></div><div class="Box-sc-g0xbh4-0 ffLUq ref-selector-button-text-container"><span class="Box-sc-g0xbh4-0 bmcJak prc-Text-Text-0ima0"> <!-- -->master</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><button hidden="" data-hotkey-scope="read-only-cursor-text-area"></button></div><div class="Box-sc-g0xbh4-0 fLXEGX"><a style="--button-color:fg.muted" type="button" href="/xuxueli/xxl-job/branches" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rclab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Branches</span></span></a><a style="--button-color:fg.muted" type="button" href="/xuxueli/xxl-job/tags" class="Box-sc-g0xbh4-0 lmSMZJ prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rklab:-loading-announcement"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Tags</span></span></a></div><div class="Box-sc-g0xbh4-0 dqfxud"><a style="--button-color:fg.muted" type="button" aria-label="Go to Branches page" href="/xuxueli/xxl-job/branches" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Relab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></a><a style="--button-color:fg.muted" type="button" aria-label="Go to Tags page" href="/xuxueli/xxl-job/tags" class="Box-sc-g0xbh4-0 fGwBZA prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-describedby=":Rmlab:-loading-announcement"><svg aria-hidden="true" focusable="false" class="octicon octicon-tag" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path></svg></a></div></div><div class="Box-sc-g0xbh4-0 jxTzTd"><div class="Box-sc-g0xbh4-0 gqqBXN"><div class="Box-sc-g0xbh4-0 dzXgxt"><!--$--><div class="Box-sc-g0xbh4-0 iWFGlI"><span class="Box-sc-g0xbh4-0 vcvyP TextInput-wrapper prc-components-TextInputWrapper-i1ofR prc-components-TextInputBaseWrapper-ueK9q" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id=":R2j5ab:" aria-hidden="true"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellcheck="false" placeholder="Go to file" aria-describedby=":R2j5ab: :R2j5abH1:" data-component="input" class="prc-components-Input-Ic-y8" value=""/><span class="TextInput-icon" id=":R2j5abH1:" aria-hidden="true"></span></span></div><!--/$--></div><div class="Box-sc-g0xbh4-0 YUPas"><button type="button" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":Rr5ab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="text" class="prc-Button-Label-pTQ3x">Go to file</span></span></button></div><div class="react-directory-add-file-icon"></div><div class="react-directory-remove-file-icon"></div></div><button type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="primary" aria-describedby=":R55ab:-loading-announcement" id=":R55ab:"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-code hide-sm" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x">Code</span><span data-component="trailingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="Box-sc-g0xbh4-0 izFOf"><button data-component="IconButton" type="button" aria-label="Open more actions menu" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-c50BI prc-Button-IconButton-szpyj" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-describedby=":R75ab:-loading-announcement" id=":R75ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button></div></div></div><div class="Box-sc-g0xbh4-0 vIPPs"><div data-hpc="true"><button hidden="" data-testid="focus-next-element-button" data-hotkey="j"></button><button hidden="" data-testid="focus-previous-element-button" data-hotkey="k"></button><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading" id="folders-and-files">Folders and files</h2><table aria-labelledby="folders-and-files" class="Box-sc-g0xbh4-0 fdROMU"><thead class="Box-sc-g0xbh4-0 jGKpsv"><tr class="Box-sc-g0xbh4-0 jdgHnn"><th colSpan="2" class="Box-sc-g0xbh4-0 bQivRW"><span class="text-bold">Name</span></th><th colSpan="1" class="Box-sc-g0xbh4-0 ldkMIO"><span class="text-bold">Name</span></th><th class="hide-sm"><div title="Last commit message" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit message</span></div></th><th colSpan="1" class="Box-sc-g0xbh4-0 jMbWeI"><div title="Last commit date" class="Truncate__StyledTruncate-sc-23o1d2-0 liVpTx width-fit"><span class="text-bold">Last commit date</span></div></th></tr></thead><tbody><tr class="Box-sc-g0xbh4-0 gpqjiB"><td colSpan="3" class="bgColor-muted p-1 rounded-top-2"><div class="Box-sc-g0xbh4-0 dzCJzi"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone--vW4Cq prc-Heading-Heading-6CmGO" data-testid="screen-reader-heading">History</h2><a href="/xuxueli/xxl-job/commits/master/" class="prc-Button-ButtonBase-c50BI d-none d-lg-flex LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":Raqj8pab:-loading-announcement"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-pTQ3x"><span class="fgColor-default">1,851 Commits</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><span role="tooltip" aria-label="1,851 Commits" id="history-icon-button-tooltip" class="Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-n"><a href="/xuxueli/xxl-job/commits/master/" class="prc-Button-ButtonBase-c50BI LinkButton-module__code-view-link-button--xvCGA flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby=":R1iqj8pab:-loading-announcement history-icon-button-tooltip"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-HKbr-"><span data-component="leadingVisual" class="prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB"><svg aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a></span></div></div></div></div></td></tr><tr class="react-directory-row undefined" id="folder-row-0"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".github" aria-label=".github, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/.github">.github</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".github" aria-label=".github, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/.github">.github</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-1"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="doc" aria-label="doc, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/doc">doc</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="doc" aria-label="doc, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/doc">doc</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-2"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="xxl-job-admin" aria-label="xxl-job-admin, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/xxl-job-admin">xxl-job-admin</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="xxl-job-admin" aria-label="xxl-job-admin, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/xxl-job-admin">xxl-job-admin</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-3"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="xxl-job-core" aria-label="xxl-job-core, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/xxl-job-core">xxl-job-core</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="xxl-job-core" aria-label="xxl-job-core, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/xxl-job-core">xxl-job-core</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-4"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="xxl-job-executor-samples" aria-label="xxl-job-executor-samples, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/xxl-job-executor-samples">xxl-job-executor-samples</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file-directory-fill icon-directory" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="xxl-job-executor-samples" aria-label="xxl-job-executor-samples, (Directory)" class="Link--primary" href="/xuxueli/xxl-job/tree/master/xxl-job-executor-samples">xxl-job-executor-samples</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-5"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitattributes" aria-label=".gitattributes, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/.gitattributes">.gitattributes</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitattributes" aria-label=".gitattributes, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/.gitattributes">.gitattributes</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-6"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title=".gitignore" aria-label=".gitignore, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/.gitignore">.gitignore</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-7"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="LICENSE" aria-label="LICENSE, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/LICENSE">LICENSE</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="LICENSE" aria-label="LICENSE, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/LICENSE">LICENSE</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-8"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="NOTICE" aria-label="NOTICE, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/NOTICE">NOTICE</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="NOTICE" aria-label="NOTICE, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/NOTICE">NOTICE</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row undefined" id="folder-row-9"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="README.md" aria-label="README.md, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/README.md">README.md</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="react-directory-row truncate-for-mobile" id="folder-row-10"><td class="react-directory-row-name-cell-small-screen" colSpan="2"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="pom.xml" aria-label="pom.xml, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/pom.xml">pom.xml</a></div></div></div></div></td><td class="react-directory-row-name-cell-large-screen" colSpan="1"><div class="react-directory-filename-column"><svg aria-hidden="true" focusable="false" class="octicon octicon-file color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path></svg><div class="overflow-hidden"><div class="react-directory-filename-cell"><div class="react-directory-truncate"><a title="pom.xml" aria-label="pom.xml, (File)" class="Link--primary" href="/xuxueli/xxl-job/blob/master/pom.xml">pom.xml</a></div></div></div></div></td><td class="react-directory-row-commit-cell"><div class="Skeleton Skeleton--text"> </div></td><td><div class="Skeleton Skeleton--text"> </div></td></tr><tr class="Box-sc-g0xbh4-0 eNCcrz show-for-mobile" data-testid="view-all-files-row"><td colSpan="3" class="Box-sc-g0xbh4-0 bHTcCe"><div><button class="prc-Link-Link-85e08">View all files</button></div></td></tr></tbody></table></div><div class="Box-sc-g0xbh4-0 csrIcr"><div class="Box-sc-g0xbh4-0 bUQNHB"><div itemscope="" itemType="https://schema.org/abstract" class="Box-sc-g0xbh4-0 jPdcfu"><h2 class="_VisuallyHidden__VisuallyHidden-sc-11jhm7a-0 brGdpi">Repository files navigation</h2><nav class="Box-sc-g0xbh4-0 iphEWz prc-components-UnderlineWrapper-oOh5J" aria-label="Repository files"><ul class="prc-components-UnderlineItemList-b23Hf" role="list"><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#" aria-current="page"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-book" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path></svg></span><span data-component="text" data-content="README">README</span></a></li><li class="Box-sc-g0xbh4-0 hUCRAk"><a class="prc-components-UnderlineItem-lJsg-" href="#"><span data-component="icon"><svg aria-hidden="true" focusable="false" class="octicon octicon-law" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path></svg></span><span data-component="text" data-content="GPL-3.0 license">GPL-3.0 license</span></a></li></ul></nav><button style="--button-color:fg.subtle" type="button" aria-label="Outline" aria-haspopup="true" aria-expanded="false" tabindex="0" class="Box-sc-g0xbh4-0 cwoBXV prc-Button-ButtonBase-c50BI" data-loading="false" data-size="medium" data-variant="invisible" aria-describedby=":Rr9ab:-loading-announcement" id=":Rr9ab:"><svg aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button></div><div class="Box-sc-g0xbh4-0 QkQOb js-snippet-clipboard-copy-unpositioned undefined" data-hpc="true"><article class="markdown-body entry-content container-lg" itemprop="text"><p align="center" dir="auto"> <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/8fa4f8ad64c26aa03734c3c4d919013d5883f92b06c775e22d3f5f925dbdef10/68747470733a2f2f7777772e78757875656c692e636f6d2f646f632f7374617469632f78786c2d6a6f622f696d616765732f78786c2d6c6f676f2e6a7067"><img src="https://camo.githubusercontent.com/8fa4f8ad64c26aa03734c3c4d919013d5883f92b06c775e22d3f5f925dbdef10/68747470733a2f2f7777772e78757875656c692e636f6d2f646f632f7374617469632f78786c2d6a6f622f696d616765732f78786c2d6c6f676f2e6a7067" width="150" data-canonical-src="https://www.xuxueli.com/doc/static/xxl-job/images/xxl-logo.jpg" style="max-width: 100%;"></a> </p><div class="markdown-heading" dir="auto"><h3 align="center" tabindex="-1" class="heading-element" dir="auto">XXL-JOB</h3><a id="user-content-xxl-job" class="anchor" aria-label="Permalink: XXL-JOB" href="#xxl-job"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p align="center" dir="auto"> XXL-JOB, a distributed task scheduling framework. <br> <a href="https://www.xuxueli.com/xxl-job/" rel="nofollow"><strong>-- Home Page --</strong></a> <br> <br> <a href="https://github.com/xuxueli/xxl-job/actions"> <img src="https://github.com/xuxueli/xxl-job/workflows/Java%20CI/badge.svg" style="max-width: 100%;"> </a> <a href="https://maven-badges.herokuapp.com/maven-central/com.xuxueli/xxl-job-core/" rel="nofollow"> <img src="https://camo.githubusercontent.com/6b9716bb372cfa7465e2fe4379e6e290e0940ad50848f11305d8728bae99e0d6/68747470733a2f2f6d6176656e2d6261646765732e6865726f6b756170702e636f6d2f6d6176656e2d63656e7472616c2f636f6d2e78757875656c692f78786c2d6a6f622d636f72652f62616467652e737667" data-canonical-src="https://maven-badges.herokuapp.com/maven-central/com.xuxueli/xxl-job-core/badge.svg" style="max-width: 100%;"> </a> <a href="https://github.com/xuxueli/xxl-job/releases"> <img src="https://camo.githubusercontent.com/e7af3d9b6ca17f7906cc48433caa35bcc8fda8b5bb1acea79cd6df0e376fffb1/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f78757875656c692f78786c2d6a6f622e737667" data-canonical-src="https://img.shields.io/github/release/xuxueli/xxl-job.svg" style="max-width: 100%;"> </a> <a href="https://github.com/xuxueli/xxl-job/"> <img src="https://camo.githubusercontent.com/6f9c50b34e9e0e598187e86116b76e40482702ba60c801a011f0e0aeb06fdc99/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f78757875656c692f78786c2d6a6f62" data-canonical-src="https://img.shields.io/github/stars/xuxueli/xxl-job" style="max-width: 100%;"> </a> <a href="https://hub.docker.com/r/xuxueli/xxl-job-admin/" rel="nofollow"> <img src="https://camo.githubusercontent.com/08d6f062eec65437f5e384e053d602ab3ee55c0bbb12de99c903e9076fbce4d1/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f78757875656c692f78786c2d6a6f622d61646d696e" data-canonical-src="https://img.shields.io/docker/pulls/xuxueli/xxl-job-admin" style="max-width: 100%;"> </a> <a href="http://www.gnu.org/licenses/gpl-3.0.html" rel="nofollow"> <img src="https://camo.githubusercontent.com/fcf50c1f3a4879682b94be5dd325b2dec1661a159904a2a45493e553c8ccf175/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d47504c76332d626c75652e737667" data-canonical-src="https://img.shields.io/badge/license-GPLv3-blue.svg" style="max-width: 100%;"> </a> <a href="https://www.xuxueli.com/page/donate.html" rel="nofollow"> <img src="https://camo.githubusercontent.com/e163d182162d45828ea12d98057fa501ee101ad141105bb4dc85f0635e850792/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2532342d646f6e6174652d6666363962342e7376673f7374796c653d666c6174" data-canonical-src="https://img.shields.io/badge/%24-donate-ff69b4.svg?style=flat" style="max-width: 100%;"> </a> </p> <p dir="auto"></p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Introduction</h2><a id="user-content-introduction" class="anchor" aria-label="Permalink: Introduction" href="#introduction"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">XXL-JOB is a distributed task scheduling framework. It's core design goal is to develop quickly and learn simple, lightweight, and easy to expand. Now, it's already open source, and many companies use it in production environments, real "out-of-the-box".</p> <p dir="auto">XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Sponsor</h2><a id="user-content-sponsor" class="anchor" aria-label="Permalink: Sponsor" href="#sponsor"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">XXL-JOB is an open source and free project, with its ongoing development made possible entirely by the support of these awesome backers.</p> <p dir="auto">XXL-JOB 是一个开源且免费项目,其正在进行的开发完全得益于支持者的支持。开源不易,<a href="https://www.xuxueli.com/page/donate.html" rel="nofollow">前往赞助项目开发</a></p> <div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">金牌赞助方</h3><a id="user-content-金牌赞助方" class="anchor" aria-label="Permalink: 金牌赞助方" href="#金牌赞助方"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <markdown-accessiblity-table><table> <tbody><tr> <td> <a href="https://www.aliyun.com/product/aliware/mse?utm_content=g_1000401794" title="" rel="nofollow"> <img width="150px" src="https://camo.githubusercontent.com/706aba2a2931820114bbeb79caf7fab77b0ae910aa02e889742001762d3a8deb/687474703a2f2f7777772e78757875656c692e636f6d2f706167652f7374617469632f696d616765732f6c6f676f5f616c6979756e322e706e67" data-canonical-src="http://www.xuxueli.com/page/static/images/logo_aliyun2.png" style="max-width: 100%;"> <br> <span>阿里云 提供云上托管 XXL-JOB</span> </a> </td> <td> <a href="https://www.mall4j.com/cn/?statId=10" title="" rel="nofollow"> <img width="150px" src="https://camo.githubusercontent.com/ea121692daf6646a93a7fa4189128e5054b0935db17bfdbb3e89567fcd267e78/687474703a2f2f7777772e78757875656c692e636f6d2f706167652f7374617469632f696d616765732f6c6f676f5f6d61696c346a2e706e67" data-canonical-src="http://www.xuxueli.com/page/static/images/logo_mail4j.png" style="max-width: 100%;"> </a> </td> </tr> </tbody></table></markdown-accessiblity-table> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Documentation</h2><a id="user-content-documentation" class="anchor" aria-label="Permalink: Documentation" href="#documentation"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="https://www.xuxueli.com/xxl-job/" rel="nofollow">中文文档</a></li> <li><a href="https://www.xuxueli.com/xxl-job/en/" rel="nofollow">English Documentation</a></li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Communication</h2><a id="user-content-communication" class="anchor" aria-label="Permalink: Communication" href="#communication"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li><a href="https://www.xuxueli.com/page/community.html" rel="nofollow">社区交流</a></li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Features</h2><a id="user-content-features" class="anchor" aria-label="Permalink: Features" href="#features"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <ul dir="auto"> <li>1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;</li> <li>2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;</li> <li>3、调度中心HA(中心式):调度采用中心式设计,“调度中心”自研调度组件并支持集群部署,可保证调度中心HA;</li> <li>4、执行器HA(分布式):任务分布式执行,任务"执行器"支持集群部署,可保证任务执行HA;</li> <li>5、注册中心: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;</li> <li>6、弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;</li> <li>7、触发策略:提供丰富的任务触发策略,包括:Cron触发、固定间隔触发、固定延时触发、API(事件)触发、人工触发、父子任务触发;</li> <li>8、调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略、立即补偿触发一次等;</li> <li>9、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;</li> <li>10、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;</li> <li>11、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试;</li> <li>12、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方便的扩展短信、钉钉等告警方式;</li> <li>13、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;</li> <li>14、分片广播任务:执行器集群部署时,任务路由策略选择"分片广播"情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务;</li> <li>15、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。</li> <li>16、故障转移:任务路由策略选择"故障转移"情况下,如果执行器集群中某一台机器故障,将会自动Failover切换到一台正常的执行器发送调度请求。</li> <li>17、任务进度监控:支持实时监控任务进度;</li> <li>18、Rolling实时日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;</li> <li>19、GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。</li> <li>20、脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python、NodeJS、PHP、PowerShell等类型脚本;</li> <li>21、命令行任务:原生提供通用命令行任务Handler(Bean任务,"CommandJobHandler");业务方只需要提供命令行即可;</li> <li>22、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;</li> <li>23、一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;</li> <li>24、自定义任务参数:支持在线配置调度任务入参,即时生效;</li> <li>25、调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;</li> <li>26、数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;</li> <li>27、邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;</li> <li>28、推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;</li> <li>29、运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;</li> <li>30、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行;</li> <li>31、跨语言/OpenAPI:调度中心与执行器提供语言无关的 OpenApi(RESTful 格式),第三方任意语言可据此对接调度中心或者实现执行器,实现多语言支持。除此之外,还提供了 “多任务模式”和“httpJobHandler”等其他跨语言方案;</li> <li>32、国际化:调度中心支持国际化设置,提供中文、英文两种可选语言,默认为中文;</li> <li>33、容器化:提供官方docker镜像,并实时更新推送dockerhub,进一步实现产品开箱即用;</li> <li>34、线程池隔离:调度线程池进行隔离拆分,慢任务自动降级进入"Slow"线程池,避免耗尽调度线程,提高系统稳定性;</li> <li>35、用户管理:支持在线管理系统用户,存在管理员、普通用户两种角色;</li> <li>36、权限控制:执行器维度进行权限控制,管理员拥有全量权限,普通用户需要分配执行器权限后才允许相关操作;</li> </ul> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Development</h2><a id="user-content-development" class="anchor" aria-label="Permalink: Development" href="#development"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">于2015年中,我在github上创建XXL-JOB项目仓库并提交第一个commit,随之进行系统结构设计,UI选型,交互设计……</p> <p dir="auto">于2015-11月,XXL-JOB终于RELEASE了第一个大版本V1.0, 随后我将之发布到OSCHINA,XXL-JOB在OSCHINA上获得了@红薯的热门推荐,同期分别达到了OSCHINA的“热门动弹”排行第一和git.oschina的开源软件月热度排行第一,在此特别感谢红薯,感谢大家的关注和支持。</p> <p dir="auto">于2015-12月,我将XXL-JOB发表到我司内部知识库,并且得到内部同事认可。</p> <p dir="auto">于2016-01月,我司展开XXL-JOB的内部接入和定制工作,在此感谢袁某和尹某两位同事的贡献,同时也感谢内部其他给与关注与支持的同事。</p> <p dir="auto">于2017-05-13,在上海举办的 "<a href="https://www.oschina.net/event/2236961" rel="nofollow">第62期开源中国源创会</a>" 的 "放码过来" 环节,我登台对XXL-JOB做了演讲,台下五百位在场观众反响热烈(<a href="https://www.oschina.net/question/2686220_2242120" rel="nofollow">图文回顾</a> )。</p> <p dir="auto">于2017-10-22,又拍云 Open Talk 联合 Spring Cloud 中国社区举办的 "<a href="https://opentalk.upyun.com/303.html" rel="nofollow">进击的微服务实战派上海站</a>",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。</p> <p dir="auto">于2017-12-11,XXL-JOB有幸参会《<a href="http://bj2017.archsummit.com/" rel="nofollow">InfoQ ArchSummit全球架构师峰会</a>》,并被拍拍贷架构总监"杨波老师"在专题 "<a href="http://bj2017.archsummit.com/training/2" rel="nofollow">微服务原理、基础架构和开源实践</a>" 中现场介绍。</p> <p dir="auto">于2017-12-18,XXL-JOB参与"<a href="http://www.oschina.net/project/top_cn_2017?sort=1" rel="nofollow">2017年度最受欢迎中国开源软件</a>"评比,在当时已录入的约九千个国产开源项目中角逐,最终进入了前30强。</p> <p dir="auto">于2018-01-15,XXL-JOB参与"<a href="https://www.oschina.net/news/92438/2017-mayun-top-50" rel="nofollow">2017码云最火开源项目</a>"评比,在当时已录入的约六千五百个码云项目中角逐,最终进去了前20强。</p> <p dir="auto">于2018-04-14,iTechPlus在上海举办的 "<a href="http://www.itdks.com/eventlist/detail/2065" rel="nofollow">2018互联网开发者大会</a>",我登台对XXL-JOB做了演讲,现场观众反响热烈并在会后与XXL-JOB用户热烈讨论交流。</p> <p dir="auto">于2018-05-27,在上海举办的 "<a href="https://www.oschina.net/event/2278742" rel="nofollow">第75期开源中国源创会</a>" 的 "架构" 主题专场,我登台进行“基础架构与中间件图谱”主题演讲,台下上千位在场观众反响热烈(<a href="https://www.oschina.net/question/3802184_2280606" rel="nofollow">图文回顾</a> )。</p> <p dir="auto">于2018-12-05,XXL-JOB参与"<a href="https://www.oschina.net/project/top_cn_2018?sort=1" rel="nofollow">2018年度最受欢迎中国开源软件</a>"评比,在当时已录入的一万多个开源项目中角逐,最终排名第19名。</p> <p dir="auto">于2019-12-10,XXL-JOB参与"<a href="https://www.oschina.net/project/top_cn_2019" rel="nofollow">2019年度最受欢迎中国开源软件</a>"评比,在当时已录入的一万多个开源项目中角逐,最终排名"开发框架和基础组件类"第9名。</p> <p dir="auto">于2020-11-16,XXL-JOB参与"<a href="https://www.oschina.net/project/top_cn_2020" rel="nofollow">2020年度最受欢迎中国开源软件</a>"评比,在当时已录入的一万多个开源项目中角逐,最终排名"开发框架和基础组件类"第8名。</p> <p dir="auto">于2021-12-06,XXL-JOB参与"<a href="https://www.oschina.net/project/top_cn_2021" rel="nofollow">2021年度OSC中国开源项目评选</a> "评比,在当时已录入的一万多个开源项目中角逐,最终当选"最受欢迎项目"。</p> <p dir="auto">于2024-11-06,XXL-JOB经 GitCode 官方评审,获得 “G-Star项目毕业认证”。</p> <blockquote> <p dir="auto">我司大众点评目前已接入XXL-JOB,内部别名《Ferrari》(Ferrari基于XXL-JOB的V1.1版本定制而成,新接入应用推荐升级最新版本)。 据最新统计, 自2016-01-21接入至2017-12-01期间,该系统已调度约100万次,表现优异。新接入应用推荐使用最新版本,因为经过数十个版本的更新,系统的任务模型、UI交互模型以及底层调度通讯模型都有了较大的优化和提升,核心功能更加稳定高效。</p> </blockquote> <p dir="auto">至今,XXL-JOB已接入多家公司的线上产品线,接入场景如电商业务,O2O业务和大数据作业等,截止最新统计时间为止,XXL-JOB已接入的公司包括不限于:</p> <div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- 1、大众点评【美团点评】 - 2、山东学而网络科技有限公司; - 3、安徽慧通互联科技有限公司; - 4、人人聚财金服; - 5、上海棠棣信息科技股份有限公司 - 6、运满满【运满满】 - 7、米其林 (中国区)【米其林】 - 8、妈妈联盟 - 9、九樱天下(北京)信息技术有限公司 - 10、万普拉斯科技有限公司【一加手机】 - 11、上海亿保健康管理有限公司 - 12、海尔馨厨【海尔】 - 13、河南大红包电子商务有限公司 - 14、成都顺点科技有限公司 - 15、深圳市怡亚通 - 16、深圳麦亚信科技股份有限公司 - 17、上海博莹科技信息技术有限公司 - 18、中国平安科技有限公司【中国平安】 - 19、杭州知时信息科技有限公司 - 20、博莹科技(上海)有限公司 - 21、成都依能股份有限责任公司 - 22、湖南高阳通联信息技术有限公司 - 23、深圳市邦德文化发展有限公司 - 24、福建阿思可网络教育有限公司 - 25、优信二手车【优信】 - 26、上海悠游堂投资发展股份有限公司【悠游堂】 - 27、北京粉笔蓝天科技有限公司 - 28、中秀科技(无锡)有限公司 - 29、武汉空心科技有限公司 - 30、北京蚂蚁风暴科技有限公司 - 31、四川互宜达科技有限公司 - 32、钱包行云(北京)科技有限公司 - 33、重庆欣才集团 - 34、咪咕互动娱乐有限公司【中国移动】 - 35、北京诺亦腾科技有限公司 - 36、增长引擎(北京)信息技术有限公司 - 37、北京英贝思科技有限公司 - 38、刚泰集团 - 39、深圳泰久信息系统股份有限公司 - 40、随行付支付有限公司 - 41、广州瀚农网络科技有限公司 - 42、享点科技有限公司 - 43、杭州比智科技有限公司 - 44、圳临界线网络科技有限公司 - 45、广州知识圈网络科技有限公司 - 46、国誉商业上海有限公司 - 47、海尔消费金融有限公司,嗨付、够花【海尔】 - 48、广州巴图鲁信息科技有限公司 - 49、深圳市鹏海运电子数据交换有限公司 - 50、深圳市亚飞电子商务有限公司 - 51、上海趣医网络有限公司 - 52、聚金资本 - 53、北京父母邦网络科技有限公司 - 54、中山元赫软件科技有限公司 - 55、中商惠民(北京)电子商务有限公司 - 56、凯京集团 - 57、华夏票联(北京)科技有限公司 - 58、拍拍贷【拍拍贷】 - 59、北京尚德机构在线教育有限公司 - 60、任子行股份有限公司 - 61、北京时态电子商务有限公司 - 62、深圳卷皮网络科技有限公司 - 63、北京安博通科技股份有限公司 - 64、未来无线网 - 65、厦门瓷禧网络有限公司 - 66、北京递蓝科软件股份有限公司 - 67、郑州创海软件科技公司 - 68、北京国槐信息科技有限公司 - 69、浪潮软件集团 - 70、多立恒(北京)信息技术有限公司 - 71、广州极迅客信息科技有限公司 - 72、赫基(中国)集团股份有限公司 - 73、海投汇 - 74、上海润益创业孵化器管理股份有限公司 - 75、汉纳森(厦门)数据股份有限公司 - 76、安信信托 - 77、岚儒财富 - 78、捷道软件 - 79、湖北享七网络科技有限公司 - 80、湖南创发科技责任有限公司 - 81、深圳小安时代互联网金融服务有限公司 - 82、湖北享七网络科技有限公司 - 83、钱包行云(北京)科技有限公司 - 84、360金融【360】 - 85、易企秀 - 86、摩贝(上海)生物科技有限公司 - 87、广东芯智慧科技有限公司 - 88、联想集团【联想】 - 89、怪兽充电 - 90、行圆汽车 - 91、深圳店店通科技邮箱公司 - 92、京东【京东】 - 93、米庄理财 - 94、咖啡易融 - 95、梧桐诚选 - 96、恒大地产【恒大】 - 97、昆明龙慧 - 98、上海涩瑶软件 - 99、易信【网易】 - 100、铜板街 - 101、杭州云若网络科技有限公司 - 102、特百惠(中国)有限公司 - 103、常山众卡运力供应链管理有限公司 - 104、深圳立创电子商务有限公司 - 105、杭州智诺科技股份有限公司 - 106、北京云漾信息科技有限公司 - 107、深圳市多银科技有限公司 - 108、亲宝宝 - 109、上海博卡软件科技有限公司 - 110、智慧树在线教育平台 - 111、米族金融 - 112、北京辰森世纪 - 113、云南滇医通 - 114、广州市分领网络科技有限责任公司 - 115、浙江微能科技有限公司 - 116、上海馨飞电子商务有限公司 - 117、上海宝尊电子商务有限公司 - 118、直客通科技技术有限公司 - 119、科度科技有限公司 - 120、上海数慧系统技术有限公司 - 121、我的医药网 - 122、多粉平台 - 123、铁甲二手机 - 124、上海海新得数据技术有限公司 - 125、深圳市珍爱网信息技术有限公司【珍爱网】 - 126、小蜜蜂 - 127、吉荣数科技 - 128、上海恺域信息科技有限公司 - 129、广州荔支网络有限公司【荔枝FM】 - 130、杭州闪宝科技有限公司 - 131、北京互联新网科技发展有限公司 - 132、誉道科技 - 133、山西兆盛房地产开发有限公司 - 134、北京蓝睿通达科技有限公司 - 135、月亮小屋(中国)有限公司【蓝月亮】 - 136、青岛国瑞信息技术有限公司 - 137、博雅云计算(北京)有限公司 - 138、华泰证券香港子公司 - 139、杭州东方通信软件技术有限公司 - 140、武汉博晟安全技术股份有限公司 - 141、深圳市六度人和科技有限公司 - 142、杭州趣维科技有限公司(小影) - 143、宁波单车侠之家科技有限公司【单车侠】 - 144、丁丁云康信息科技(北京)有限公司 - 145、云钱袋 - 146、南京中兴力维 - 147、上海矽昌通信技术有限公司 - 148、深圳萨科科技 - 149、中通服创立科技有限责任公司 - 150、深圳市对庄科技有限公司 - 151、上证所信息网络有限公司 - 152、杭州火烧云科技有限公司【婚礼纪】 - 153、天津青芒果科技有限公司【芒果头条】 - 154、长飞光纤光缆股份有限公司 - 155、世纪凯歌(北京)医疗科技有限公司 - 156、浙江霖梓控股有限公司 - 157、江西腾飞网络技术有限公司 - 158、安迅物流有限公司 - 159、肉联网 - 160、北京北广梯影广告传媒有限公司 - 161、上海数慧系统技术有限公司 - 162、大志天成 - 163、上海云鹊医 - 164、上海云鹊医 - 165、墨迹天气【墨迹天气】 - 166、上海逸橙信息科技有限公司 - 167、沅朋物联 - 168、杭州恒生云融网络科技有限公司 - 169、绿米联创 - 170、重庆易宠科技有限公司 - 171、安徽引航科技有限公司(乐职网) - 172、上海数联医信企业发展有限公司 - 173、良彬建材 - 174、杭州求是同创网络科技有限公司 - 175、荷马国际 - 176、点雇网 - 177、深圳市华星光电技术有限公司 - 178、厦门神州鹰软件科技有限公司 - 179、深圳市招商信诺人寿保险有限公司 - 180、上海好屋网信息技术有限公司 - 181、海信集团【海信】 - 182、信凌可信息科技(上海)有限公司 - 183、长春天成科技发展有限公司 - 184、用友金融信息技术股份有限公司【用友】 - 185、北京咖啡易融有限公司 - 186、国投瑞银基金管理有限公司 - 187、晋松(上海)网络信息技术有限公司 - 188、深圳市随手科技有限公司【随手记】 - 189、深圳水务科技有限公司 - 190、易企秀【易企秀】 - 191、北京磁云科技 - 192、南京蜂泰互联网科技有限公司 - 193、章鱼直播 - 194、奖多多科技 - 195、天津市神州商龙科技股份有限公司 - 196、岩心科技 - 197、车码科技(北京)有限公司 - 198、贵阳市投资控股集团 - 199、康旗股份 - 200、龙腾出行 - 201、杭州华量软件 - 202、合肥顶岭医疗科技有限公司 - 203、重庆表达式科技有限公司 - 204、上海米道信息科技有限公司 - 205、北京益友会科技有限公司 - 206、北京融贯电子商务有限公司 - 207、中国外汇交易中心 - 208、中国外运股份有限公司 - 209、中国上海晓圈教育科技有限公司 - 210、普联软件股份有限公司 - 211、北京科蓝软件股份有限公司 - 212、江苏斯诺物联科技有限公司 - 213、北京搜狐-狐友【搜狐】 - 214、新大陆网商金融 - 215、山东神码中税信息科技有限公司 - 216、河南汇顺网络科技有限公司 - 217、北京华夏思源科技发展有限公司 - 218、上海东普信息科技有限公司 - 219、上海鸣勃网络科技有限公司 - 220、广东学苑教育发展有限公司 - 221、深圳强时科技有限公司 - 222、上海云砺信息科技有限公司 - 223、重庆愉客行网络有限公司 - 224、数云 - 225、国家电网运检部 - 226、杭州找趣 - 227、浩鲸云计算科技股份有限公司 - 228、科大讯飞【科大讯飞】 - 229、杭州行装网络科技有限公司 - 230、即有分期金融 - 231、深圳法司德信息科技有限公司 - 232、上海博复信息科技有限公司 - 233、杭州云嘉云计算有限公司 - 234、有家民宿(有家美宿) - 235、北京赢销通软件技术有限公司 - 236、浙江聚有财金融服务外包有限公司 - 237、易族智汇(北京)科技有限公司 - 238、合肥顶岭医疗科技开发有限公司 - 239、车船宝(深圳)旭珩科技有限公司) - 240、广州富力地产有限公司 - 241、氢课(上海)教育科技有限公司 - 242、武汉氪细胞网络技术有限公司 - 243、杭州有云科技有限公司 - 244、上海仙豆智能机器人有限公司 - 245、拉卡拉支付股份有限公司【拉卡拉】 - 246、虎彩印艺股份有限公司 - 247、北京数微科技有限公司 - 248、广东智瑞科技有限公司 - 249、找钢网 - 250、九机网 - 251、杭州跑跑网络科技有限公司 - 252、深圳未来云集 - 253、杭州每日给力科技有限公司 - 254、上海齐犇信息科技有限公司 - 255、滴滴出行【滴滴】 - 256、合肥云诊信息科技有限公司 - 257、云知声智能科技股份有限公司 - 258、南京坦道科技有限公司 - 259、爱乐优(二手平台) - 260、猫眼电影(私有化部署)【猫眼电影】 - 261、美团大象(私有化部署)【美团大象】 - 262、作业帮教育科技(北京)有限公司【作业帮】 - 263、北京小年糕互联网技术有限公司 - 264、山东矩阵软件工程股份有限公司 - 265、陕西国驿软件科技有限公司 - 266、君开信息科技 - 267、村鸟网络科技有限责任公司 - 268、云南国际信托有限公司 - 269、金智教育 - 270、珠海市筑巢科技有限公司 - 271、上海百胜软件股份有限公司 - 272、深圳市科盾科技有限公司 - 273、哈啰出行【哈啰】 - 274、途虎养车【途虎】 - 275、卡思优派人力资源集团 - 276、南京观为智慧软件科技有限公司 - 277、杭州城市大脑科技有限公司 - 278、猿辅导【猿辅导】 - 279、洛阳健创网络科技有限公司 - 280、魔力耳朵 - 281、亿阳信通 - 282、上海招鲤科技有限公司 - 283、四川商旅无忧科技服务有限公司 - 284、UU跑腿 - 285、北京老虎证券【老虎证券】 - 286、悠活省吧(北京)网络科技有限公司 - 287、F5未来商店 - 288、深圳环阳通信息技术有限公司 - 289、遠傳電信 - 290、作业帮(北京)教育科技有限公司【作业帮】 - 291、成都科鸿智信科技有限公司 - 292、北京木屋时代科技有限公司 - 293、大学通(哈尔滨)科技有限责任公司 - 294、浙江华坤道威数据科技有限公司 - 295、吉祥航空【吉祥航空】 - 296、南京圆周网络科技有限公司 - 297、广州市洋葱omall电子商务 - 298、天津联物科技有限公司 - 299、跑哪儿科技(北京)有限公司 - 300、深圳市美西西餐饮有限公司(喜茶) - 301、平安不动产有限公司【平安】 - 302、江苏中海昇物联科技有限公司 - 303、湖南牙医帮科技有限公司 - 304、重庆民航凯亚信息技术有限公司(易通航) - 305、递易(上海)智能科技有限公司 - 306、亚朵 - 307、浙江新课堂教育股份有限公司 - 308、北京蜂创科技有限公司 - 309、德一智慧城市信息系统有限公司 - 310、北京翼点科技有限公司 - 311、湖南智数新维度信息科技有限公司 - 312、北京玖扬博文文化发展有限公司 - 313、上海宇珩信息科技有限公司 - 314、全景智联(武汉)科技有限公司 - 315、天津易客满国际物流有限公司 - 316、南京爱福路汽车科技有限公司 - 317、我房旅居集团 - 318、湛江亲邻科技有限公司 - 319、深圳市姜科网络有限公司 - 320、青岛日日顺物流有限公司 - 321、南京太川信息技术有限公司 - 322、美图之家科技有限公司【美图】 - 323、南京太川信息技术有限公司 - 324、众薪科技(北京)有限公司 - 325、武汉安安物联科技有限公司 - 326、北京智客朗道网络科技有限公司 - 327、深圳市超级猩猩健身管理管理有限公司 - 328、重庆达志科技有限公司 - 329、上海享评信息科技有限公司 - 330、薪得付信息科技 - 331、跟谁学 - 332、中道(苏州)旅游网络科技有限公司 - 333、广州小卫科技有限公司 - 334、上海非码网络科技有限公司 - 335、途家网网络技术(北京)有限公司【途家】 - 336、广州辉凡信息科技有限公司 - 337、天维尔信息科技股份有限公司 - 338、上海极豆科技有限公司 - 339、苏州触达信息技术有限公司 - 340、北京热云科技有限公司 - 341、中智企服(北京)科技有限公司 - 342、易联云计算(杭州)有限责任公司 - 343、青岛航空股份有限公司【青岛航空】 - 344、山西博睿通科技有限公司 - 345、网易杭州网络有限公司【网易】 - 346、北京果果乐学科技有限公司 - 347、百望股份有限公司 - 348、中保金服(深圳)科技有限公司 - 349、天津运友物流科技股份有限公司 - 350、广东创能科技股份有限公司 - 351、上海倚博信息科技有限公司 - 352、深圳百果园实业(集团)股份有限公司 - 353、广州细刻网络科技有限公司 - 354、武汉鸿业众创科技有限公司 - 355、金锡科技(广州)有限公司 - 356、易瑞国际电子商务有限公司 - 357、奇点云 - 358、中视信息科技有限公司 - 359、开源项目:datax-web - 360、云知声智能科技股份有限公司 - 361、开源项目:bboss - 362、成都深驾科技有限公司 - 363、FunPlus【趣加】 - 364、杭州创匠信科技有限公司 - 365、龙匠(北京)科技发展有限公司 - 366、广州一链通互联网科技有限公司 - 367、上海星艾网络科技有限公司 - 368、虎博网络技术(上海)有限公司 - 369、青岛优米信息技术有限公司 - 370、八维通科技有限公司 - 371、烟台合享智星数据科技有限公司 - 372、东吴证券股份有限公司 - 373、中通云仓股份有限公司【中通】 - 374、北京加菲猫科技有限公司 - 375、北京匠心演绎科技有限公司 - 376、宝贝走天下 - 377、厦门众库科技有限公司 - 378、海通证券数据中心 - 389、湖南快乐通宝小额贷款有限公司 - 380、浙江大华技术股份有限公司 - 381、杭州魔筷科技有限公司 - 382、青岛掌讯通区块链科技有限公司 - 383、新大陆金融科技 - 384、常州玺拓软件科技有限公司 - 385、北京正保网格教育科技有限公司 - 386、统一企业(中国)投资有限公司【统一】 - 387、微革网络科技有限公司 - 388、杭州融易算科技有限公司 - 399、青岛上啥班网络科技有限公司 - 390、京东酒世界 - 391、杭州爱博仕科技有限公司 - 392、五星金服控股有限公司 - 393、福建乐摩物联科技有限公司 - 394、百炼智能科技有限公司 - 395、山东能源数智云科技有限公司 - 396、招商局能源运输股份有限公司 - 397、三一集团【三一】 - 398、东巴文(深圳)健康管理有限公司 - 399、索易软件 - 400、深圳市宁远科技有限公司 - 401、熙牛医疗 - 402、南京智鹤电子科技有限公司 - 403、嘀嗒出行【嘀嗒出行】 - 404、广州虎牙信息科技有限公司【虎牙】 - 405、广州欧莱雅百库网络科技有限公司【欧莱雅】 - 406、微微科技有限公司 - 407、我爱我家房地产经纪有限公司【我爱我家】 - 408、九号发现 - 409、薪人薪事 - 410、武汉氪细胞网络技术有限公司 - 411、广州市斯凯奇商业有限公司 - 412、微淼商学院 - 413、杭州车盛科技有限公司 - 414、深兰科技(上海)有限公司 - 415、安徽中科美络信息技术有限公司 - 416、比亚迪汽车工业有限公司【比亚迪】 - 417、湖南小桔信息技术有限公司 - 418、安徽科大国创软件科技有限公司 - 419、克而瑞 - 420、陕西云基华海信息技术有限公司 - 421、安徽深宁科技有限公司 - 422、广东康爱多数字健康有限公司 - 423、嘉里电子商务 - 424、上海时代光华教育发展有限公司 - 425、CityDo - 426、上海禹知信息科技有限公司 - 427、广东智瑞科技有限公司 - 428、西安爱铭网络科技有限公司 - 429、心医国际数字医疗系统(大连)有限公司 - 430、乐其电商 - 431、锐达科技 - 432、天津长城滨银汽车金融有限公司 - 433、代码网 - 434、东莞市东城乔伦软件开发工作室 - 435、浙江百应科技有限公司 - 436、上海力爱帝信息技术有限公司(Red E) - 437、云徙科技有限公司 - 438、北京康智乐思网络科技有限公司【大姨吗APP】 - 439、安徽开元瞬视科技有限公司 - 440、立方 - 441、厦门纵行科技 - 442、乐山-菲尼克斯半导体有限公司 - 443、武汉光谷联合集团有限公司 - 444、上海金仕达软件科技有限公司 - 445、深圳易世通达科技有限公司 - 446、爱动超越人工智能科技(北京)有限责任公司 - 447、迪普信(北京)科技有限公司 - 448、掌站科技(北京)有限公司 - 449、深圳市华云中盛股份有限公司 - 450、上海原圈科技有限公司 - 451、广州赞赏信息科技有限公司 - 452、Amber Group - 453、德威国际货运代理(上海)公司 - 454、浙江杰夫兄弟智慧科技有限公司 - 455、信也科技 - 456、开思时代科技(深圳)有限公司 - 457、大连槐德科技有限公司 - 458、同程生活 - 459、松果出行 - 460、企鹅杏仁集团 - 461、宁波科云信息科技有限公司 - 462、上海格蓝威驰信息科技有限公司 - 463、杭州趣淘鲸科技有限公司 - 464、湖州市数字惠民科技有限公司 - 465、乐普(北京)医疗器械股份有限公司 - 466、广州市晴川高新技术开发有限公司 - 467、山西缇客科技有限公司 - 468、徐州卡西穆电子商务有限公司 - 469、格创东智科技有限公司 - 470、世纪龙信息网络有限责任公司 - 471、邦道科技有限公司 - 472、河南中盟新云科技股份有限公司 - 473、横琴人寿保险有限公司 - 474、上海海隆华钟信息技术有限公司 - 475、上海久湛 - 476、上海仙豆智能机器人有限公司 - 477、广州汇尚网络科技有限公司 - 478、深圳市阿卡索资讯股份有限公司 - 479、青岛佳家康健康管理有限责任公司 - 480、蓝城兄弟 - 481、成都天府通金融服务股份有限公司 - 482、深圳云镖网络科技有限公司 - 483、上海影创科技 - 484、成都艾拉物联 - 485、北京客邻尚品网络技术有限公司 - 486、IT实战联盟 - 487、杭州尤拉夫科技有限公司 - 488、中大检测(湖南)股份有限公司 - 489、江苏电老虎工业互联网股份有限公司 - 490、上海助通信息科技有限公司 - 491、北京符节科技有限公司 - 492、杭州英祐科技有限公司 - 493、江苏电老虎工业互联网股份有限公司 - 494、深圳市点猫科技有限公司 - 495、杭州天音 - 496、深圳市二十一科技互联网有限公司 - 497、海南海口翎度科技 - 498、北京小趣智品科技有限公司 - 499、广州石竹计算机软件有限公司 - 500、深圳市惟客数据科技有限公司 - 501、中国医疗器械有限公司 - 502、上海云谦科技有限公司 - 503、上海磐农信息科技有限公司 - 504、广州领航食品有限公司 - 505、青岛掌讯通区块链科技有限公司 - 506、北京新网数码信息技术有限公司 - 507、超体信息科技(深圳)有限公司 - 508、长沙店帮手信息科技有限公司 - 509、上海助弓装饰工程有限公司 - 510、杭州寻联网络科技有限公司 - 511、成都大淘客科技有限公司 - 512、松果出行 - 513、深圳市唤梦科技有限公司 - 514、上汽集团商用车技术中心 - 515、北京中航讯科技股份有限公司 - 516、北龙中网(北京)科技有限责任公司 - 517、前海超级前台(深圳)信息技术有限公司 - 518、上海中商网络股份有限公司 - 519、上海助通信息科技有限公司 - 520、宁波聚臻智能科技有限公司 - 521、上海零动数码科技股份有限公司 - 522、浙江学海教育科技有限公司 - 523、聚学云(山东)信息技术有限公司 - 524、多氟多新材料股份有限公司 - 525、智慧眼科技股份有限公司 - 526、广东智通人才连锁股份有限公司 - 527、世纪开元智印互联科技集团股份有限公司 - 528、北京理想汽车【理想汽车】 - 529、巽逸科技(重庆)有限公司 - 530、义乌购电子商务有限公司 - 531、深圳市珂莱蒂尔服饰有限公司 - 532、江西国泰利民信息科技有限公司 - 533、广西广电大数据科技有限公司 - 534、杭州艾麦科技有限公司 - 535、广州小滴科技有限公司 - 536、佳缘科技股份有限公司 - 537、上海深擎信息科技有限公司 - 538、武商网 - 539、福建民本信息科技有限公司 - 540、杭州惠合信息科技有限公司 - 541、厦门爱立得科技有限公司 - 542、成都拟合未来科技有限公司 - 543、宁波聚臻智能科技有限公司 - 544、广东百慧科技有限公司 - 545、笨马网络 - 546、深圳市信安数字科技有限公司 - 547、深圳市思乐数据技术有限公司 - 548、四川绿源集科技有限公司 - 549、湖南云医链生物科技有限公司 - 550、杭州源诚科技有限公司 - 551、北京开课吧科技有限公司 - 552、北京多来点信息技术有限公司 - 553、JEECG BOOT低代码开发平台 - 554、苏州同元软控信息技术有限公司 - 555、江苏大泰信息技术有限公司 - 556、北京大禹汇智 - 557、北京盛哲科技有限公司 - 558、广州钛动科技有限公司 - 559、北京大禹汇智科技有限公司 - 560、湖南鼎翰文化股份有限公司 - 561、苏州安软信息科技有限公司 - 562、芒果tv - 563、上海艺赛旗软件股份有限公司 - 564、中盈优创资讯科技有限公司 - 565、乐乎公寓 - 566、启明信息 - 567、苏州安软 - 568、南京富金的软件科技有限公司 - 569、深圳市新科聚合网络技术有限公司 - 570、你好现在(北京)科技股份有限公司 - 571、360考试宝典 - 572、北京一零科技有限公司 - 573、厦门星纵信息 - 574、Dalligent Solusi Indonesia - 575、深圳华普物联科技有限公司 - 576、深圳行健自动化股份有限公司 - 577、深圳市富融信息科技服务有限公司 - 578、蓝鸟云 - 579、上海澎博财经资讯有限公司 - 580、北京小鸦科技有限公司 - 581、杭州盈泉云科技有限公司 - 582、惟客数据 - 583、GOSO香蜜闺秀 - 584、普乐师(上海)数字科技有限公司 - 585、西安市雁塔区咖北堂网络科技部 - 586、宁波聚臻智能科技有限公司 - 587、普乐师数字科技有限公司 - 588、江苏蟹联网科技有限公司 - 589、杭州未智科技有限公司 - 590、安吉智行物流有限公司 - 591、华生大家居集团有限公司 - 592、美心食品(广州)有限公司 - 593、货拉拉【货拉拉APP】 - 594、杭州思韬瑞科技有限公司 - 595、杭州玖融科技有限公司 - 596、北京优海网络科技有限公司 - 597、浙江大维高新技术股份有限公司 - 598、粤港澳大湾区数字经济研究院 - 599、普康(杭州)健康科技有限公司 - 600、华西证券股份有限公司【华西证券】 - 601、杭州海康机器人股份有限公司【海康】 - 602、河南宸邦信息技术有限公司 - 603、成都次元节点网络科技有限公司 - 604、富士康科技集团【富士康】 - 605、青岛东软载波科技股份有限公司 - 606、小菊快跑科技有限公司 - 607、视源股份 - 608、宁波聚臻智能科技有限公司 - 609、阔天科技有限公司 - 610、网宿科技有限公司 - 611、南京梵鼎信息技术有限公司 - 612、房天下【房天下】 - 613、特瓦特能源科技有限公司 - 614、拓迪智能科技有限公司 - 615、东软集团【东软】 - 616、开普云 - 617、领课网络 - 618、南京特维软件有限公司 - 619、福建易联众保睿通信息科技有限公司 - 620、浙江核心同花顺金融科技有限公司【同花顺】 - 621、浙江博观瑞思科技有限公司 - 622、北京新美互通科技有限公司 - 623、北京有生博大软件股份有限公司 - 624、时代中国 - 625、鱼泡网 - 626、一粒方糖(安徽)科技有限公司 - 627、北京外研在线数字科技有限公司 - 628、德电(中国)通信技术有限公司 - 629、杭州寻联网络科技有限公司 - 630、橙联(中国)有限公司 - 631、北京承启通科技有限公司 - 632、银联数据服务有限公司【银联】 - 633、上海晶确科技有限公司 - 634、亚信科技有限公司 - 635、福建新航物联网科技有限公司 - 636、上扬软件 - 637、深蓝汽车科技有限公司 - 638、南昌节点汇智科技有限公司 - 639、锐明技术 - 640、再造再生健康科技有限公司 - 641、华宝证券 - 642、卓正医疗 - 643、深圳湛信科技 - 644、陕西鑫众为软件有限公司 - 645、深圳市润农科技有限公司 - 646、庚商教育智能科技有限公司 - 647、杭州祎声科技 - 648、四川久远银海软件股份有限公司 - 649、GeeFox极狐低代码 - 650、浙江和仁科技股份有限公司 - 651、宁波聚臻智能科技有限公司 - 652、福建福昕软件开发股份有限公司【福昕】 - 653、广州中长康达信息技术有限公司 - 654、武汉趣改信息科技有限公司 - 655、北京华夏思源科技发展有限公司 - 656、宁波关关通科技有限公司 - 657、青岛吕氏餐饮有限公司 - 658、杭州乐刻网络科技有限公司 - 659、上海红瓦信息科技有限公司 - 660、陕西旅小宝信息科技有限公司 - 661、中科卓恒(大连)科技有限公司 - 662、北京华益精点生物技术有限公司 - 663、马士基(中国)航运有限公司【马士基】 - 664、陕西美咚网络科技有限公司 - 665、山东新北洋信息技术股份有限公司 - 666、福建中瑞文化发展集团有限公司 - 667、黑龙江省建工集团有限责任公司【黑龙江省建工】 - 668、志信能达安全科技(广州)有限公司 - 669、重庆开源共创科技有限公司 - 670、华泰人寿保险股份有限公司【华泰人寿】 - 671、成都盘古纵横集团 - 672、北京果果乐学科技有限公司 - 673、北京凌云空间科技有限公司 - 674、临工重机股份有限公司 - 675、上海热风时尚管理集团【热风】 - 676、HashKey Exchange - 677、傲基(深圳)跨境商务股份有限公司 - 678、青岛文达通科技股份有限公司 - 679、杭州普罗云科技有限公司 - 680、浙江云鹭科技有限公司 - 681、中山市芯宏柿网络科技有限公司 - 682、深圳市家家顺物联科技 - 683、重庆斑西科技有限公司 - 684、福建省泰古信息技术有限公司 - 685、贵阳永青仪电科技有限公司 - 686、广州博依特智能信息科技有限公司 - 687、河南宠呦呦信息技术有限公司 - 688、陕西星邑空间技术有限公司 - 689、广东西欧克实业有限公司 - 690、唱吧麦颂KTV - ……"><pre class="notranslate"><code>- 1、大众点评【美团点评】 - 2、山东学而网络科技有限公司; - 3、安徽慧通互联科技有限公司; - 4、人人聚财金服; - 5、上海棠棣信息科技股份有限公司 - 6、运满满【运满满】 - 7、米其林 (中国区)【米其林】 - 8、妈妈联盟 - 9、九樱天下(北京)信息技术有限公司 - 10、万普拉斯科技有限公司【一加手机】 - 11、上海亿保健康管理有限公司 - 12、海尔馨厨【海尔】 - 13、河南大红包电子商务有限公司 - 14、成都顺点科技有限公司 - 15、深圳市怡亚通 - 16、深圳麦亚信科技股份有限公司 - 17、上海博莹科技信息技术有限公司 - 18、中国平安科技有限公司【中国平安】 - 19、杭州知时信息科技有限公司 - 20、博莹科技(上海)有限公司 - 21、成都依能股份有限责任公司 - 22、湖南高阳通联信息技术有限公司 - 23、深圳市邦德文化发展有限公司 - 24、福建阿思可网络教育有限公司 - 25、优信二手车【优信】 - 26、上海悠游堂投资发展股份有限公司【悠游堂】 - 27、北京粉笔蓝天科技有限公司 - 28、中秀科技(无锡)有限公司 - 29、武汉空心科技有限公司 - 30、北京蚂蚁风暴科技有限公司 - 31、四川互宜达科技有限公司 - 32、钱包行云(北京)科技有限公司 - 33、重庆欣才集团 - 34、咪咕互动娱乐有限公司【中国移动】 - 35、北京诺亦腾科技有限公司 - 36、增长引擎(北京)信息技术有限公司 - 37、北京英贝思科技有限公司 - 38、刚泰集团 - 39、深圳泰久信息系统股份有限公司 - 40、随行付支付有限公司 - 41、广州瀚农网络科技有限公司 - 42、享点科技有限公司 - 43、杭州比智科技有限公司 - 44、圳临界线网络科技有限公司 - 45、广州知识圈网络科技有限公司 - 46、国誉商业上海有限公司 - 47、海尔消费金融有限公司,嗨付、够花【海尔】 - 48、广州巴图鲁信息科技有限公司 - 49、深圳市鹏海运电子数据交换有限公司 - 50、深圳市亚飞电子商务有限公司 - 51、上海趣医网络有限公司 - 52、聚金资本 - 53、北京父母邦网络科技有限公司 - 54、中山元赫软件科技有限公司 - 55、中商惠民(北京)电子商务有限公司 - 56、凯京集团 - 57、华夏票联(北京)科技有限公司 - 58、拍拍贷【拍拍贷】 - 59、北京尚德机构在线教育有限公司 - 60、任子行股份有限公司 - 61、北京时态电子商务有限公司 - 62、深圳卷皮网络科技有限公司 - 63、北京安博通科技股份有限公司 - 64、未来无线网 - 65、厦门瓷禧网络有限公司 - 66、北京递蓝科软件股份有限公司 - 67、郑州创海软件科技公司 - 68、北京国槐信息科技有限公司 - 69、浪潮软件集团 - 70、多立恒(北京)信息技术有限公司 - 71、广州极迅客信息科技有限公司 - 72、赫基(中国)集团股份有限公司 - 73、海投汇 - 74、上海润益创业孵化器管理股份有限公司 - 75、汉纳森(厦门)数据股份有限公司 - 76、安信信托 - 77、岚儒财富 - 78、捷道软件 - 79、湖北享七网络科技有限公司 - 80、湖南创发科技责任有限公司 - 81、深圳小安时代互联网金融服务有限公司 - 82、湖北享七网络科技有限公司 - 83、钱包行云(北京)科技有限公司 - 84、360金融【360】 - 85、易企秀 - 86、摩贝(上海)生物科技有限公司 - 87、广东芯智慧科技有限公司 - 88、联想集团【联想】 - 89、怪兽充电 - 90、行圆汽车 - 91、深圳店店通科技邮箱公司 - 92、京东【京东】 - 93、米庄理财 - 94、咖啡易融 - 95、梧桐诚选 - 96、恒大地产【恒大】 - 97、昆明龙慧 - 98、上海涩瑶软件 - 99、易信【网易】 - 100、铜板街 - 101、杭州云若网络科技有限公司 - 102、特百惠(中国)有限公司 - 103、常山众卡运力供应链管理有限公司 - 104、深圳立创电子商务有限公司 - 105、杭州智诺科技股份有限公司 - 106、北京云漾信息科技有限公司 - 107、深圳市多银科技有限公司 - 108、亲宝宝 - 109、上海博卡软件科技有限公司 - 110、智慧树在线教育平台 - 111、米族金融 - 112、北京辰森世纪 - 113、云南滇医通 - 114、广州市分领网络科技有限责任公司 - 115、浙江微能科技有限公司 - 116、上海馨飞电子商务有限公司 - 117、上海宝尊电子商务有限公司 - 118、直客通科技技术有限公司 - 119、科度科技有限公司 - 120、上海数慧系统技术有限公司 - 121、我的医药网 - 122、多粉平台 - 123、铁甲二手机 - 124、上海海新得数据技术有限公司 - 125、深圳市珍爱网信息技术有限公司【珍爱网】 - 126、小蜜蜂 - 127、吉荣数科技 - 128、上海恺域信息科技有限公司 - 129、广州荔支网络有限公司【荔枝FM】 - 130、杭州闪宝科技有限公司 - 131、北京互联新网科技发展有限公司 - 132、誉道科技 - 133、山西兆盛房地产开发有限公司 - 134、北京蓝睿通达科技有限公司 - 135、月亮小屋(中国)有限公司【蓝月亮】 - 136、青岛国瑞信息技术有限公司 - 137、博雅云计算(北京)有限公司 - 138、华泰证券香港子公司 - 139、杭州东方通信软件技术有限公司 - 140、武汉博晟安全技术股份有限公司 - 141、深圳市六度人和科技有限公司 - 142、杭州趣维科技有限公司(小影) - 143、宁波单车侠之家科技有限公司【单车侠】 - 144、丁丁云康信息科技(北京)有限公司 - 145、云钱袋 - 146、南京中兴力维 - 147、上海矽昌通信技术有限公司 - 148、深圳萨科科技 - 149、中通服创立科技有限责任公司 - 150、深圳市对庄科技有限公司 - 151、上证所信息网络有限公司 - 152、杭州火烧云科技有限公司【婚礼纪】 - 153、天津青芒果科技有限公司【芒果头条】 - 154、长飞光纤光缆股份有限公司 - 155、世纪凯歌(北京)医疗科技有限公司 - 156、浙江霖梓控股有限公司 - 157、江西腾飞网络技术有限公司 - 158、安迅物流有限公司 - 159、肉联网 - 160、北京北广梯影广告传媒有限公司 - 161、上海数慧系统技术有限公司 - 162、大志天成 - 163、上海云鹊医 - 164、上海云鹊医 - 165、墨迹天气【墨迹天气】 - 166、上海逸橙信息科技有限公司 - 167、沅朋物联 - 168、杭州恒生云融网络科技有限公司 - 169、绿米联创 - 170、重庆易宠科技有限公司 - 171、安徽引航科技有限公司(乐职网) - 172、上海数联医信企业发展有限公司 - 173、良彬建材 - 174、杭州求是同创网络科技有限公司 - 175、荷马国际 - 176、点雇网 - 177、深圳市华星光电技术有限公司 - 178、厦门神州鹰软件科技有限公司 - 179、深圳市招商信诺人寿保险有限公司 - 180、上海好屋网信息技术有限公司 - 181、海信集团【海信】 - 182、信凌可信息科技(上海)有限公司 - 183、长春天成科技发展有限公司 - 184、用友金融信息技术股份有限公司【用友】 - 185、北京咖啡易融有限公司 - 186、国投瑞银基金管理有限公司 - 187、晋松(上海)网络信息技术有限公司 - 188、深圳市随手科技有限公司【随手记】 - 189、深圳水务科技有限公司 - 190、易企秀【易企秀】 - 191、北京磁云科技 - 192、南京蜂泰互联网科技有限公司 - 193、章鱼直播 - 194、奖多多科技 - 195、天津市神州商龙科技股份有限公司 - 196、岩心科技 - 197、车码科技(北京)有限公司 - 198、贵阳市投资控股集团 - 199、康旗股份 - 200、龙腾出行 - 201、杭州华量软件 - 202、合肥顶岭医疗科技有限公司 - 203、重庆表达式科技有限公司 - 204、上海米道信息科技有限公司 - 205、北京益友会科技有限公司 - 206、北京融贯电子商务有限公司 - 207、中国外汇交易中心 - 208、中国外运股份有限公司 - 209、中国上海晓圈教育科技有限公司 - 210、普联软件股份有限公司 - 211、北京科蓝软件股份有限公司 - 212、江苏斯诺物联科技有限公司 - 213、北京搜狐-狐友【搜狐】 - 214、新大陆网商金融 - 215、山东神码中税信息科技有限公司 - 216、河南汇顺网络科技有限公司 - 217、北京华夏思源科技发展有限公司 - 218、上海东普信息科技有限公司 - 219、上海鸣勃网络科技有限公司 - 220、广东学苑教育发展有限公司 - 221、深圳强时科技有限公司 - 222、上海云砺信息科技有限公司 - 223、重庆愉客行网络有限公司 - 224、数云 - 225、国家电网运检部 - 226、杭州找趣 - 227、浩鲸云计算科技股份有限公司 - 228、科大讯飞【科大讯飞】 - 229、杭州行装网络科技有限公司 - 230、即有分期金融 - 231、深圳法司德信息科技有限公司 - 232、上海博复信息科技有限公司 - 233、杭州云嘉云计算有限公司 - 234、有家民宿(有家美宿) - 235、北京赢销通软件技术有限公司 - 236、浙江聚有财金融服务外包有限公司 - 237、易族智汇(北京)科技有限公司 - 238、合肥顶岭医疗科技开发有限公司 - 239、车船宝(深圳)旭珩科技有限公司) - 240、广州富力地产有限公司 - 241、氢课(上海)教育科技有限公司 - 242、武汉氪细胞网络技术有限公司 - 243、杭州有云科技有限公司 - 244、上海仙豆智能机器人有限公司 - 245、拉卡拉支付股份有限公司【拉卡拉】 - 246、虎彩印艺股份有限公司 - 247、北京数微科技有限公司 - 248、广东智瑞科技有限公司 - 249、找钢网 - 250、九机网 - 251、杭州跑跑网络科技有限公司 - 252、深圳未来云集 - 253、杭州每日给力科技有限公司 - 254、上海齐犇信息科技有限公司 - 255、滴滴出行【滴滴】 - 256、合肥云诊信息科技有限公司 - 257、云知声智能科技股份有限公司 - 258、南京坦道科技有限公司 - 259、爱乐优(二手平台) - 260、猫眼电影(私有化部署)【猫眼电影】 - 261、美团大象(私有化部署)【美团大象】 - 262、作业帮教育科技(北京)有限公司【作业帮】 - 263、北京小年糕互联网技术有限公司 - 264、山东矩阵软件工程股份有限公司 - 265、陕西国驿软件科技有限公司 - 266、君开信息科技 - 267、村鸟网络科技有限责任公司 - 268、云南国际信托有限公司 - 269、金智教育 - 270、珠海市筑巢科技有限公司 - 271、上海百胜软件股份有限公司 - 272、深圳市科盾科技有限公司 - 273、哈啰出行【哈啰】 - 274、途虎养车【途虎】 - 275、卡思优派人力资源集团 - 276、南京观为智慧软件科技有限公司 - 277、杭州城市大脑科技有限公司 - 278、猿辅导【猿辅导】 - 279、洛阳健创网络科技有限公司 - 280、魔力耳朵 - 281、亿阳信通 - 282、上海招鲤科技有限公司 - 283、四川商旅无忧科技服务有限公司 - 284、UU跑腿 - 285、北京老虎证券【老虎证券】 - 286、悠活省吧(北京)网络科技有限公司 - 287、F5未来商店 - 288、深圳环阳通信息技术有限公司 - 289、遠傳電信 - 290、作业帮(北京)教育科技有限公司【作业帮】 - 291、成都科鸿智信科技有限公司 - 292、北京木屋时代科技有限公司 - 293、大学通(哈尔滨)科技有限责任公司 - 294、浙江华坤道威数据科技有限公司 - 295、吉祥航空【吉祥航空】 - 296、南京圆周网络科技有限公司 - 297、广州市洋葱omall电子商务 - 298、天津联物科技有限公司 - 299、跑哪儿科技(北京)有限公司 - 300、深圳市美西西餐饮有限公司(喜茶) - 301、平安不动产有限公司【平安】 - 302、江苏中海昇物联科技有限公司 - 303、湖南牙医帮科技有限公司 - 304、重庆民航凯亚信息技术有限公司(易通航) - 305、递易(上海)智能科技有限公司 - 306、亚朵 - 307、浙江新课堂教育股份有限公司 - 308、北京蜂创科技有限公司 - 309、德一智慧城市信息系统有限公司 - 310、北京翼点科技有限公司 - 311、湖南智数新维度信息科技有限公司 - 312、北京玖扬博文文化发展有限公司 - 313、上海宇珩信息科技有限公司 - 314、全景智联(武汉)科技有限公司 - 315、天津易客满国际物流有限公司 - 316、南京爱福路汽车科技有限公司 - 317、我房旅居集团 - 318、湛江亲邻科技有限公司 - 319、深圳市姜科网络有限公司 - 320、青岛日日顺物流有限公司 - 321、南京太川信息技术有限公司 - 322、美图之家科技有限公司【美图】 - 323、南京太川信息技术有限公司 - 324、众薪科技(北京)有限公司 - 325、武汉安安物联科技有限公司 - 326、北京智客朗道网络科技有限公司 - 327、深圳市超级猩猩健身管理管理有限公司 - 328、重庆达志科技有限公司 - 329、上海享评信息科技有限公司 - 330、薪得付信息科技 - 331、跟谁学 - 332、中道(苏州)旅游网络科技有限公司 - 333、广州小卫科技有限公司 - 334、上海非码网络科技有限公司 - 335、途家网网络技术(北京)有限公司【途家】 - 336、广州辉凡信息科技有限公司 - 337、天维尔信息科技股份有限公司 - 338、上海极豆科技有限公司 - 339、苏州触达信息技术有限公司 - 340、北京热云科技有限公司 - 341、中智企服(北京)科技有限公司 - 342、易联云计算(杭州)有限责任公司 - 343、青岛航空股份有限公司【青岛航空】 - 344、山西博睿通科技有限公司 - 345、网易杭州网络有限公司【网易】 - 346、北京果果乐学科技有限公司 - 347、百望股份有限公司 - 348、中保金服(深圳)科技有限公司 - 349、天津运友物流科技股份有限公司 - 350、广东创能科技股份有限公司 - 351、上海倚博信息科技有限公司 - 352、深圳百果园实业(集团)股份有限公司 - 353、广州细刻网络科技有限公司 - 354、武汉鸿业众创科技有限公司 - 355、金锡科技(广州)有限公司 - 356、易瑞国际电子商务有限公司 - 357、奇点云 - 358、中视信息科技有限公司 - 359、开源项目:datax-web - 360、云知声智能科技股份有限公司 - 361、开源项目:bboss - 362、成都深驾科技有限公司 - 363、FunPlus【趣加】 - 364、杭州创匠信科技有限公司 - 365、龙匠(北京)科技发展有限公司 - 366、广州一链通互联网科技有限公司 - 367、上海星艾网络科技有限公司 - 368、虎博网络技术(上海)有限公司 - 369、青岛优米信息技术有限公司 - 370、八维通科技有限公司 - 371、烟台合享智星数据科技有限公司 - 372、东吴证券股份有限公司 - 373、中通云仓股份有限公司【中通】 - 374、北京加菲猫科技有限公司 - 375、北京匠心演绎科技有限公司 - 376、宝贝走天下 - 377、厦门众库科技有限公司 - 378、海通证券数据中心 - 389、湖南快乐通宝小额贷款有限公司 - 380、浙江大华技术股份有限公司 - 381、杭州魔筷科技有限公司 - 382、青岛掌讯通区块链科技有限公司 - 383、新大陆金融科技 - 384、常州玺拓软件科技有限公司 - 385、北京正保网格教育科技有限公司 - 386、统一企业(中国)投资有限公司【统一】 - 387、微革网络科技有限公司 - 388、杭州融易算科技有限公司 - 399、青岛上啥班网络科技有限公司 - 390、京东酒世界 - 391、杭州爱博仕科技有限公司 - 392、五星金服控股有限公司 - 393、福建乐摩物联科技有限公司 - 394、百炼智能科技有限公司 - 395、山东能源数智云科技有限公司 - 396、招商局能源运输股份有限公司 - 397、三一集团【三一】 - 398、东巴文(深圳)健康管理有限公司 - 399、索易软件 - 400、深圳市宁远科技有限公司 - 401、熙牛医疗 - 402、南京智鹤电子科技有限公司 - 403、嘀嗒出行【嘀嗒出行】 - 404、广州虎牙信息科技有限公司【虎牙】 - 405、广州欧莱雅百库网络科技有限公司【欧莱雅】 - 406、微微科技有限公司 - 407、我爱我家房地产经纪有限公司【我爱我家】 - 408、九号发现 - 409、薪人薪事 - 410、武汉氪细胞网络技术有限公司 - 411、广州市斯凯奇商业有限公司 - 412、微淼商学院 - 413、杭州车盛科技有限公司 - 414、深兰科技(上海)有限公司 - 415、安徽中科美络信息技术有限公司 - 416、比亚迪汽车工业有限公司【比亚迪】 - 417、湖南小桔信息技术有限公司 - 418、安徽科大国创软件科技有限公司 - 419、克而瑞 - 420、陕西云基华海信息技术有限公司 - 421、安徽深宁科技有限公司 - 422、广东康爱多数字健康有限公司 - 423、嘉里电子商务 - 424、上海时代光华教育发展有限公司 - 425、CityDo - 426、上海禹知信息科技有限公司 - 427、广东智瑞科技有限公司 - 428、西安爱铭网络科技有限公司 - 429、心医国际数字医疗系统(大连)有限公司 - 430、乐其电商 - 431、锐达科技 - 432、天津长城滨银汽车金融有限公司 - 433、代码网 - 434、东莞市东城乔伦软件开发工作室 - 435、浙江百应科技有限公司 - 436、上海力爱帝信息技术有限公司(Red E) - 437、云徙科技有限公司 - 438、北京康智乐思网络科技有限公司【大姨吗APP】 - 439、安徽开元瞬视科技有限公司 - 440、立方 - 441、厦门纵行科技 - 442、乐山-菲尼克斯半导体有限公司 - 443、武汉光谷联合集团有限公司 - 444、上海金仕达软件科技有限公司 - 445、深圳易世通达科技有限公司 - 446、爱动超越人工智能科技(北京)有限责任公司 - 447、迪普信(北京)科技有限公司 - 448、掌站科技(北京)有限公司 - 449、深圳市华云中盛股份有限公司 - 450、上海原圈科技有限公司 - 451、广州赞赏信息科技有限公司 - 452、Amber Group - 453、德威国际货运代理(上海)公司 - 454、浙江杰夫兄弟智慧科技有限公司 - 455、信也科技 - 456、开思时代科技(深圳)有限公司 - 457、大连槐德科技有限公司 - 458、同程生活 - 459、松果出行 - 460、企鹅杏仁集团 - 461、宁波科云信息科技有限公司 - 462、上海格蓝威驰信息科技有限公司 - 463、杭州趣淘鲸科技有限公司 - 464、湖州市数字惠民科技有限公司 - 465、乐普(北京)医疗器械股份有限公司 - 466、广州市晴川高新技术开发有限公司 - 467、山西缇客科技有限公司 - 468、徐州卡西穆电子商务有限公司 - 469、格创东智科技有限公司 - 470、世纪龙信息网络有限责任公司 - 471、邦道科技有限公司 - 472、河南中盟新云科技股份有限公司 - 473、横琴人寿保险有限公司 - 474、上海海隆华钟信息技术有限公司 - 475、上海久湛 - 476、上海仙豆智能机器人有限公司 - 477、广州汇尚网络科技有限公司 - 478、深圳市阿卡索资讯股份有限公司 - 479、青岛佳家康健康管理有限责任公司 - 480、蓝城兄弟 - 481、成都天府通金融服务股份有限公司 - 482、深圳云镖网络科技有限公司 - 483、上海影创科技 - 484、成都艾拉物联 - 485、北京客邻尚品网络技术有限公司 - 486、IT实战联盟 - 487、杭州尤拉夫科技有限公司 - 488、中大检测(湖南)股份有限公司 - 489、江苏电老虎工业互联网股份有限公司 - 490、上海助通信息科技有限公司 - 491、北京符节科技有限公司 - 492、杭州英祐科技有限公司 - 493、江苏电老虎工业互联网股份有限公司 - 494、深圳市点猫科技有限公司 - 495、杭州天音 - 496、深圳市二十一科技互联网有限公司 - 497、海南海口翎度科技 - 498、北京小趣智品科技有限公司 - 499、广州石竹计算机软件有限公司 - 500、深圳市惟客数据科技有限公司 - 501、中国医疗器械有限公司 - 502、上海云谦科技有限公司 - 503、上海磐农信息科技有限公司 - 504、广州领航食品有限公司 - 505、青岛掌讯通区块链科技有限公司 - 506、北京新网数码信息技术有限公司 - 507、超体信息科技(深圳)有限公司 - 508、长沙店帮手信息科技有限公司 - 509、上海助弓装饰工程有限公司 - 510、杭州寻联网络科技有限公司 - 511、成都大淘客科技有限公司 - 512、松果出行 - 513、深圳市唤梦科技有限公司 - 514、上汽集团商用车技术中心 - 515、北京中航讯科技股份有限公司 - 516、北龙中网(北京)科技有限责任公司 - 517、前海超级前台(深圳)信息技术有限公司 - 518、上海中商网络股份有限公司 - 519、上海助通信息科技有限公司 - 520、宁波聚臻智能科技有限公司 - 521、上海零动数码科技股份有限公司 - 522、浙江学海教育科技有限公司 - 523、聚学云(山东)信息技术有限公司 - 524、多氟多新材料股份有限公司 - 525、智慧眼科技股份有限公司 - 526、广东智通人才连锁股份有限公司 - 527、世纪开元智印互联科技集团股份有限公司 - 528、北京理想汽车【理想汽车】 - 529、巽逸科技(重庆)有限公司 - 530、义乌购电子商务有限公司 - 531、深圳市珂莱蒂尔服饰有限公司 - 532、江西国泰利民信息科技有限公司 - 533、广西广电大数据科技有限公司 - 534、杭州艾麦科技有限公司 - 535、广州小滴科技有限公司 - 536、佳缘科技股份有限公司 - 537、上海深擎信息科技有限公司 - 538、武商网 - 539、福建民本信息科技有限公司 - 540、杭州惠合信息科技有限公司 - 541、厦门爱立得科技有限公司 - 542、成都拟合未来科技有限公司 - 543、宁波聚臻智能科技有限公司 - 544、广东百慧科技有限公司 - 545、笨马网络 - 546、深圳市信安数字科技有限公司 - 547、深圳市思乐数据技术有限公司 - 548、四川绿源集科技有限公司 - 549、湖南云医链生物科技有限公司 - 550、杭州源诚科技有限公司 - 551、北京开课吧科技有限公司 - 552、北京多来点信息技术有限公司 - 553、JEECG BOOT低代码开发平台 - 554、苏州同元软控信息技术有限公司 - 555、江苏大泰信息技术有限公司 - 556、北京大禹汇智 - 557、北京盛哲科技有限公司 - 558、广州钛动科技有限公司 - 559、北京大禹汇智科技有限公司 - 560、湖南鼎翰文化股份有限公司 - 561、苏州安软信息科技有限公司 - 562、芒果tv - 563、上海艺赛旗软件股份有限公司 - 564、中盈优创资讯科技有限公司 - 565、乐乎公寓 - 566、启明信息 - 567、苏州安软 - 568、南京富金的软件科技有限公司 - 569、深圳市新科聚合网络技术有限公司 - 570、你好现在(北京)科技股份有限公司 - 571、360考试宝典 - 572、北京一零科技有限公司 - 573、厦门星纵信息 - 574、Dalligent Solusi Indonesia - 575、深圳华普物联科技有限公司 - 576、深圳行健自动化股份有限公司 - 577、深圳市富融信息科技服务有限公司 - 578、蓝鸟云 - 579、上海澎博财经资讯有限公司 - 580、北京小鸦科技有限公司 - 581、杭州盈泉云科技有限公司 - 582、惟客数据 - 583、GOSO香蜜闺秀 - 584、普乐师(上海)数字科技有限公司 - 585、西安市雁塔区咖北堂网络科技部 - 586、宁波聚臻智能科技有限公司 - 587、普乐师数字科技有限公司 - 588、江苏蟹联网科技有限公司 - 589、杭州未智科技有限公司 - 590、安吉智行物流有限公司 - 591、华生大家居集团有限公司 - 592、美心食品(广州)有限公司 - 593、货拉拉【货拉拉APP】 - 594、杭州思韬瑞科技有限公司 - 595、杭州玖融科技有限公司 - 596、北京优海网络科技有限公司 - 597、浙江大维高新技术股份有限公司 - 598、粤港澳大湾区数字经济研究院 - 599、普康(杭州)健康科技有限公司 - 600、华西证券股份有限公司【华西证券】 - 601、杭州海康机器人股份有限公司【海康】 - 602、河南宸邦信息技术有限公司 - 603、成都次元节点网络科技有限公司 - 604、富士康科技集团【富士康】 - 605、青岛东软载波科技股份有限公司 - 606、小菊快跑科技有限公司 - 607、视源股份 - 608、宁波聚臻智能科技有限公司 - 609、阔天科技有限公司 - 610、网宿科技有限公司 - 611、南京梵鼎信息技术有限公司 - 612、房天下【房天下】 - 613、特瓦特能源科技有限公司 - 614、拓迪智能科技有限公司 - 615、东软集团【东软】 - 616、开普云 - 617、领课网络 - 618、南京特维软件有限公司 - 619、福建易联众保睿通信息科技有限公司 - 620、浙江核心同花顺金融科技有限公司【同花顺】 - 621、浙江博观瑞思科技有限公司 - 622、北京新美互通科技有限公司 - 623、北京有生博大软件股份有限公司 - 624、时代中国 - 625、鱼泡网 - 626、一粒方糖(安徽)科技有限公司 - 627、北京外研在线数字科技有限公司 - 628、德电(中国)通信技术有限公司 - 629、杭州寻联网络科技有限公司 - 630、橙联(中国)有限公司 - 631、北京承启通科技有限公司 - 632、银联数据服务有限公司【银联】 - 633、上海晶确科技有限公司 - 634、亚信科技有限公司 - 635、福建新航物联网科技有限公司 - 636、上扬软件 - 637、深蓝汽车科技有限公司 - 638、南昌节点汇智科技有限公司 - 639、锐明技术 - 640、再造再生健康科技有限公司 - 641、华宝证券 - 642、卓正医疗 - 643、深圳湛信科技 - 644、陕西鑫众为软件有限公司 - 645、深圳市润农科技有限公司 - 646、庚商教育智能科技有限公司 - 647、杭州祎声科技 - 648、四川久远银海软件股份有限公司 - 649、GeeFox极狐低代码 - 650、浙江和仁科技股份有限公司 - 651、宁波聚臻智能科技有限公司 - 652、福建福昕软件开发股份有限公司【福昕】 - 653、广州中长康达信息技术有限公司 - 654、武汉趣改信息科技有限公司 - 655、北京华夏思源科技发展有限公司 - 656、宁波关关通科技有限公司 - 657、青岛吕氏餐饮有限公司 - 658、杭州乐刻网络科技有限公司 - 659、上海红瓦信息科技有限公司 - 660、陕西旅小宝信息科技有限公司 - 661、中科卓恒(大连)科技有限公司 - 662、北京华益精点生物技术有限公司 - 663、马士基(中国)航运有限公司【马士基】 - 664、陕西美咚网络科技有限公司 - 665、山东新北洋信息技术股份有限公司 - 666、福建中瑞文化发展集团有限公司 - 667、黑龙江省建工集团有限责任公司【黑龙江省建工】 - 668、志信能达安全科技(广州)有限公司 - 669、重庆开源共创科技有限公司 - 670、华泰人寿保险股份有限公司【华泰人寿】 - 671、成都盘古纵横集团 - 672、北京果果乐学科技有限公司 - 673、北京凌云空间科技有限公司 - 674、临工重机股份有限公司 - 675、上海热风时尚管理集团【热风】 - 676、HashKey Exchange - 677、傲基(深圳)跨境商务股份有限公司 - 678、青岛文达通科技股份有限公司 - 679、杭州普罗云科技有限公司 - 680、浙江云鹭科技有限公司 - 681、中山市芯宏柿网络科技有限公司 - 682、深圳市家家顺物联科技 - 683、重庆斑西科技有限公司 - 684、福建省泰古信息技术有限公司 - 685、贵阳永青仪电科技有限公司 - 686、广州博依特智能信息科技有限公司 - 687、河南宠呦呦信息技术有限公司 - 688、陕西星邑空间技术有限公司 - 689、广东西欧克实业有限公司 - 690、唱吧麦颂KTV - …… </code></pre></div> <blockquote> <p dir="auto">更多接入的公司,欢迎在 <a href="https://github.com/xuxueli/xxl-job/issues/1" data-hovercard-type="issue" data-hovercard-url="/xuxueli/xxl-job/issues/1/hovercard">登记地址</a> 登记,登记仅仅为了产品推广。</p> </blockquote> <p dir="auto">欢迎大家的关注和使用,XXL-JOB也将拥抱变化,持续发展。</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Contributing</h2><a id="user-content-contributing" class="anchor" aria-label="Permalink: Contributing" href="#contributing"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">Contributions are welcome! Open a pull request to fix a bug, or open an <a href="https://github.com/xuxueli/xxl-job/issues/">Issue</a> to discuss a new feature or change.</p> <p dir="auto">欢迎参与项目贡献!比如提交PR修复一个bug,或者新建 <a href="https://github.com/xuxueli/xxl-job/issues/">Issue</a> 讨论新特性或者变更。</p> <div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">Copyright and License</h2><a id="user-content-copyright-and-license" class="anchor" aria-label="Permalink: Copyright and License" href="#copyright-and-license"><svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div> <p dir="auto">This product is open source and free, and will continue to provide free community technical support. Individual or enterprise users are free to access and use.</p> <ul dir="auto"> <li>Licensed under the GNU General Public License (GPL) v3.</li> <li>Copyright (c) 2015-present, xuxueli.</li> </ul> <p dir="auto">产品开源免费,并且将持续提供免费的社区技术支持。个人或企业内部可自由的接入和使用。如有需要可 <a href="https://www.xuxueli.com/page/community.html" rel="nofollow">邮件联系</a> 作者免费获取项目授权。</p> </article></div></div></div></div></div> <!-- --> <!-- --> <script type="application/json" id="__PRIMER_DATA_:R0:__">{"resolvedServerColorMode":"day"}</script></div> </react-partial> <input type="hidden" data-csrf="true" value="69unu/bfgxLom2ydRUxpQCwlp/Jl0gPxmkakCdQORSjQI02Pyk6DtEIGdSn+7c/4Phb7S+pwn2aLsYLXUY/eEw==" /> </div> <div data-view-component="true" class="Layout-sidebar"> <div class="BorderGrid about-margin" data-pjax> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <div class="hide-sm hide-md"> <h2 class="mb-3 h4">About</h2> <p class="f4 my-3"> A distributed task scheduling framework.(分布式任务调度平台XXL-JOB) </p> <div class="my-3 d-flex flex-items-center"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link flex-shrink-0 mr-2"> <path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path> </svg> <span class="flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a title="http://www.xuxueli.com/xxl-job/" role="link" target="_blank" rel="noopener noreferrer nofollow" class="text-bold" href="http://www.xuxueli.com/xxl-job/">www.xuxueli.com/xxl-job/</a> </span> </div> <h3 class="sr-only">Topics</h3> <div class="my-3"> <div class="f6"> <a href="/topics/java" title="Topic: java" data-view-component="true" class="topic-tag topic-tag-link"> java </a> <a href="/topics/task" title="Topic: task" data-view-component="true" class="topic-tag topic-tag-link"> task </a> <a href="/topics/cron" title="Topic: cron" data-view-component="true" class="topic-tag topic-tag-link"> cron </a> <a href="/topics/schedule" title="Topic: schedule" data-view-component="true" class="topic-tag topic-tag-link"> schedule </a> <a href="/topics/job" title="Topic: job" data-view-component="true" class="topic-tag topic-tag-link"> job </a> <a href="/topics/scheduler" title="Topic: scheduler" data-view-component="true" class="topic-tag topic-tag-link"> scheduler </a> <a href="/topics/restful" title="Topic: restful" data-view-component="true" class="topic-tag topic-tag-link"> restful </a> <a href="/topics/glue" title="Topic: glue" data-view-component="true" class="topic-tag topic-tag-link"> glue </a> <a href="/topics/distributed" title="Topic: distributed" data-view-component="true" class="topic-tag topic-tag-link"> distributed </a> <a href="/topics/quartz" title="Topic: quartz" data-view-component="true" class="topic-tag topic-tag-link"> quartz </a> <a href="/topics/xxl-job" title="Topic: xxl-job" data-view-component="true" class="topic-tag topic-tag-link"> xxl-job </a> </div> </div> <h3 class="sr-only">Resources</h3> <div class="mt-2"> <a class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:readme"}" href="#readme-ov-file"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book mr-2"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> Readme </a> </div> <h3 class="sr-only">License</h3> <div class="mt-2"> <a href="#GPL-3.0-1-ov-file" class="Link--muted" data-analytics-event="{"category":"Repository Overview","action":"click","label":"location:sidebar;file:license"}" > <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-law mr-2"> <path d="M8.75.75V2h.985c.304 0 .603.08.867.231l1.29.736c.038.022.08.033.124.033h2.234a.75.75 0 0 1 0 1.5h-.427l2.111 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04c-.21.176-.441.327-.686.45C14.556 10.78 13.88 11 13 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L12.178 4.5h-.162c-.305 0-.604-.079-.868-.231l-1.29-.736a.245.245 0 0 0-.124-.033H8.75V13h2.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1 0-1.5h2.5V3.5h-.984a.245.245 0 0 0-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112 4.692a.75.75 0 0 1-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04c-.21.176-.441.327-.686.45C4.556 10.78 3.88 11 3 11a4.498 4.498 0 0 1-2.023-.454 3.544 3.544 0 0 1-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75 0 0 1-.154-.838L2.178 4.5H1.75a.75.75 0 0 1 0-1.5h2.234a.249.249 0 0 0 .125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75 0 0 1 1.5 0Zm2.945 8.477c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L13 6.327Zm-10 0c.285.135.718.273 1.305.273s1.02-.138 1.305-.273L3 6.327Z"></path> </svg> GPL-3.0 license </a> </div> <include-fragment src="/xuxueli/xxl-job/hovercards/citation/sidebar_partial?tree_name=master"> </include-fragment> <div class="mt-2"> <a href="/xuxueli/xxl-job/activity" data-view-component="true" class="Link Link--muted"><svg text="gray" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pulse mr-2"> <path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.751.751 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.751.751 0 0 1 6 2Z"></path> </svg> <span class="color-fg-muted">Activity</span></a> </div> <h3 class="sr-only">Stars</h3> <div class="mt-2"> <a href="/xuxueli/xxl-job/stargazers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg> <strong>28.6k</strong> stars</a> </div> <h3 class="sr-only">Watchers</h3> <div class="mt-2"> <a href="/xuxueli/xxl-job/watchers" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-eye mr-2"> <path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14c-1.981 0-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2ZM1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5c1.473 0 2.825-.742 3.955-1.715 1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5c-1.473 0-2.825.742-3.955 1.715-1.124.967-1.954 2.096-2.366 2.717ZM8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10Z"></path> </svg> <strong>951</strong> watching</a> </div> <h3 class="sr-only">Forks</h3> <div class="mt-2"> <a href="/xuxueli/xxl-job/forks" data-view-component="true" class="Link Link--muted"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg> <strong>11.1k</strong> forks</a> </div> <div class="mt-2"> <a class="Link--muted" href="/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Fxuxueli%2Fxxl-job&report=xuxueli+%28user%29"> Report repository </a> </div> </div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame"> <a href="/xuxueli/xxl-job/releases" data-view-component="true" class="Link--primary no-underline Link">Releases <span title="36" data-view-component="true" class="Counter">36</span></a></h2> <a class="Link--primary d-flex no-underline" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/xuxueli/xxl-job/releases/tag/3.0.0"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-tag flex-shrink-0 mt-1 color-fg-success"> <path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"></path> </svg> <div class="ml-2 min-width-0"> <div class="d-flex"> <span class="css-truncate css-truncate-target text-bold mr-2" style="max-width: none;">XXL-JOB v3.0.0 | 分布式任务调度平台</span> <span title="Label: Latest" data-view-component="true" class="Label Label--success flex-shrink-0"> Latest </span> </div> <div class="text-small color-fg-muted"><relative-time datetime="2025-02-06T21:20:18Z" class="no-wrap">Feb 6, 2025</relative-time></div> </div> </a> <div data-view-component="true" class="mt-3"> <a text="small" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/xuxueli/xxl-job/releases" data-view-component="true" class="Link">+ 35 releases</a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3">Sponsor this project</h2> <include-fragment src="/xuxueli/xxl-job/sponsors_list?block_button=false&current_repository=xxl-job" aria-busy="true" aria-label="Loading sponsorable links"> <ul class="list-style-none"> </ul> </include-fragment> <ul class="list-style-none"> <li class="mb-2 d-flex"> <span class="mr-2 d-flex flex-items-center flex-justify-center" style="min-width:32px;height:32px;"> <svg class="octicon octicon-link color-fg-muted" alt="custom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg> </span> <span class="flex-self-center flex-auto min-width-0 css-truncate css-truncate-target width-fit"> <a target="_blank" data-ga-click="Dashboard, click, Nav menu - item:org-profile context:organization" data-hydro-click="{"event_type":"sponsors.repo_funding_links_link_click","payload":{"platform":{"platform_type":"CUSTOM","platform_url":"https://www.xuxueli.com/page/donate.html"},"platforms":[{"platform_type":"CUSTOM","platform_url":"https://www.xuxueli.com/page/donate.html"}],"repo_id":47023603,"owner_id":10633817,"user_id":null,"originating_url":"https://github.com/xuxueli/xxl-job"}}" data-hydro-click-hmac="75346f8a8ab35039104fad257e89a6626e11c5e201fcbd36590961136c42c111" rel="noopener noreferrer" href="https://www.xuxueli.com/page/donate.html">https://www.xuxueli.com/page/donate.html</a> </span> </li> </ul> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/users/xuxueli/packages?repo_name=xxl-job" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Packages <span title="0" hidden="hidden" data-view-component="true" class="Counter ml-1">0</span></a></h2> <div class="text-small color-fg-muted" > No packages published <br> </div> </div> </div> <div class="BorderGrid-row" > <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/xuxueli/xxl-job/network/dependents" data-view-component="true" class="Link--primary no-underline Link">Used by <span title="9,566" data-view-component="true" class="Counter">9.6k</span></a> </h2> <a class="d-flex flex-items-center" href="/xuxueli/xxl-job/network/dependents"> <ul class="hx_flex-avatar-stack list-style-none min-width-0"> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/166267528?s=64&v=4" width="32" height="32" alt="@A-Little-Excited" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/105543291?s=64&v=4" width="32" height="32" alt="@gjyyyy" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/206825278?s=64&v=4" width="32" height="32" alt="@WWYCOOL" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/151131403?s=64&v=4" width="32" height="32" alt="@YYuJie0608" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/151131403?s=64&v=4" width="32" height="32" alt="@YYuJie0608" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/103639329?s=64&v=4" width="32" height="32" alt="@9976softWind" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/58971249?s=64&v=4" width="32" height="32" alt="@xiaotong-sun" /> </li> <li class="hx_flex-avatar-stack-item"> <img class="avatar avatar-user" src="https://avatars.githubusercontent.com/u/96455140?s=64&v=4" width="32" height="32" alt="@liuxxxu" /> </li> </ul> <span class="px-2 text-bold text-small no-wrap"> + 9,558 </span> </a> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3"> <a href="/xuxueli/xxl-job/graphs/contributors" data-view-component="true" class="Link--primary no-underline Link d-flex flex-items-center">Contributors <span title="65" data-view-component="true" class="Counter ml-1">65</span></a></h2> <include-fragment src="/xuxueli/xxl-job/contributors_list?count=65&current_repository=xxl-job&items_to_show=14" aria-busy="true" aria-label="Loading contributors"> <ul class="list-style-none d-flex flex-wrap mb-n2"> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> <li class="mb-2 "> <div class="Skeleton avatar avatar-user mr-2" style="width:32px;height:32px;"></div> </li> </ul> </include-fragment> <div data-view-component="true" class="mt-3"> <a text="small" href="/xuxueli/xxl-job/graphs/contributors" data-view-component="true" class="Link--inTextBlock Link">+ 51 contributors</a></div> </div> </div> <div class="BorderGrid-row"> <div class="BorderGrid-cell"> <h2 class="h4 mb-3">Languages</h2> <div class="mb-2"> <span data-view-component="true" class="Progress"> <span style="background-color:#b07219 !important;;width: 99.9%;" itemprop="keywords" data-view-component="true" class="Progress-item color-bg-success-emphasis"></span> <span style="background-color:#384d54 !important;;width: 0.1%;" itemprop="keywords" data-view-component="true" class="Progress-item color-bg-success-emphasis"></span> </span></div> <ul class="list-style-none"> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap Link--secondary no-underline text-small mr-3" href="/xuxueli/xxl-job/search?l=java" data-ga-click="Repository, language stats search click, location:repo overview"> <svg style="color:#b07219;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill mr-2"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> <span class="color-fg-default text-bold mr-1">Java</span> <span>99.9%</span> </a> </li> <li class="d-inline"> <a class="d-inline-flex flex-items-center flex-nowrap Link--secondary no-underline text-small mr-3" href="/xuxueli/xxl-job/search?l=dockerfile" data-ga-click="Repository, language stats search click, location:repo overview"> <svg style="color:#384d54;" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill mr-2"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> <span class="color-fg-default text-bold mr-1">Dockerfile</span> <span>0.1%</span> </a> </li> </ul> </div> </div> </div> </div> </div></div> </div> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>