Biến chia sẻ threadpoolexecutor trong python

Tôi có một chương trình trong đó cho mỗi người trong Dict, chủ đề được tạo bằng tên Args, Dob, Sex, Pref. Sau đó bắt đầu

Tôi đang cố gắng biến điều này thành một người thực hiện ThreadPool để giới hạn thời lượng luồng chạy cùng một lúc. Nhưng tôi không thể làm cho nó hoạt động được

with concurrent.futures.ThreadPoolExecutor[max_workers=20] as executor:
    for all in allList:
        name = all
        print[f'Starting process for: {name}']
        name = name
        dob = allList[name]['dob']
        sex= allList[name]['sex']
        pref= allList[name]['pref']
        a_args = [name, dob, sex, pref]
        executor.map[start_func, a_args]

Đây là cách tôi đã thay đổi nó từ trước đây vì bạn có thể nói, nhưng tất cả những gì tôi hiểu là nó đang cố gắng bắt đầu tất cả trong tài sản của tôi, không chỉ là 20 lần mỗi lần. Tôi dường như không thể tìm thấy nhiều về Multi Args ngoại trừ việc đưa chúng vào một danh sách và đây là cách tôi đã thiết lập đa luồng của mình, rõ ràng là cuối cùng tôi đã có

t = Luồng. Chủ đề [Target = start_func, args = [name, dob, sex, pref]]

t. bắt đầu[]

mà hoạt động miễn phí là không có quá nhiều chủ đề. Nhưng tôi muốn có thể xử lý x Chủ đề trong đó nó chỉ chu kỳ 20 mỗi lần

Hướng dẫn python nội suy giữa hai mảng - python content Suy giữa hai mảng

TUY ]]. # Đó là NP. Phiên dịch [[1,2,3,4,5], [1,5],

Try to direction python - metruong

BÀI VIẾTGỐC. https. //manhhomienbienthuy. github. io/2017/09/24/luyen-ky-nang-lap-tli-va-cac Phép Tác Giả]] Python is a language

Danh sách hướng dẫn sử dụng. con trăn pop python

Hàm Danh sách pop[] trong Python xóa và trả về phần tử cuối cùng hoặc đối tượng obj chỉ có mục được cung cấp từ danh sách đã cho. Nội dung chính2. Cú pháp List pop[]2.

Hướng dẫn cách tải python

Hướng dẫn cài đặt, thiết lập trình Python trên Windows 10[Xem thêm. Hướng dẫn cài đặt Python trên Ubuntu [Linux]]Tải xuống và cài đặt PythonTải xuống tệp cài đặt python

Hướng dẫn trăn phù hợp đường cong - con trăn phù hợp đường cong

scipy. tối ưu hóa. curve_fit [f, xdata, ydata, p0 = none, sigma = none , ** kwargs] [nguồn]#curve_fit[f, xdata, ydata, p0=None, sigma=None, absolute_sigma=False, check_finite=True, bounds=

GitLab hiện không có hỗ trợ tích hợp để quản lý các khóa SSH trong môi trường xây dựng [nơi chạy GitLab Runner]

Sử dụng các khóa SSH khi bạn muốn

  • Kiểm tra các mô-đun con bên trong
  • Tải xuống các gói riêng bằng trình quản lý gói của bạn. Ví dụ, Bundler
  • Triển khai ứng dụng của bạn đến máy chủ của riêng bạn hoặc Heroku chẳng hạn
  • Thực thi các lệnh SSH từ môi trường xây dựng đến máy chủ từ xa
  • Rsync các tệp từ môi trường xây dựng đến máy chủ từ xa

Nếu bất cứ điều gì ở trên đổ chuông, thì rất có thể bạn cần có khóa SSH

Phương pháp được hỗ trợ rộng rãi nhất là đưa khóa SSH vào môi trường xây dựng của bạn bằng cách mở rộng

sudo su - gitlab-runner
9 của bạn và đó là giải pháp hoạt động với bất kỳ loại trình thực thi nào [chẳng hạn như Docker hoặc shell]

Làm thế nào nó hoạt động

  1. Tạo một cặp khóa SSH mới cục bộ với
    sudo su - gitlab-runner
    
    0
  2. Thêm khóa riêng làm biến cho dự án của bạn
  3. Chạy
    sudo su - gitlab-runner
    
    1 trong khi thực hiện công việc để tải khóa riêng
  4. Sao chép khóa công khai vào máy chủ mà bạn muốn có quyền truy cập [thường là trong
    sudo su - gitlab-runner
    
    2] hoặc thêm nó làm khóa triển khai nếu bạn đang truy cập kho lưu trữ GitLab riêng tư

Trong ví dụ sau, lệnh

sudo su - gitlab-runner
3 không hiển thị giá trị của
sudo su - gitlab-runner
0 trong nhật ký công việc, mặc dù nó có thể bị lộ nếu bạn bật ghi nhật ký gỡ lỗi. Bạn cũng có thể muốn kiểm tra khả năng hiển thị của các đường ống của mình

Các khóa SSH khi sử dụng trình thực thi Docker

Khi các công việc CI/CD của bạn chạy bên trong bộ chứa Docker [có nghĩa là môi trường được chứa] và bạn muốn triển khai mã của mình trong một máy chủ riêng, bạn cần có cách để truy cập vào nó. Trong trường hợp này, bạn có thể sử dụng cặp khóa SSH

  1. Trước tiên, bạn phải tạo một cặp khóa SSH. Để biết thêm thông tin, hãy làm theo hướng dẫn để tạo khóa SSH. Không thêm cụm mật khẩu vào khóa SSH, nếu không,

    sudo su - gitlab-runner
    
    1 sẽ nhắc nhập mật khẩu

  2. Tạo biến CI/CD mới. Khi Khóa nhập tên

    sudo su - gitlab-runner
    
    2 và trong trường Giá trị, hãy dán nội dung của khóa riêng mà bạn đã tạo trước đó

  3. Sửa đổi

    sudo su - gitlab-runner
    
    9 của bạn bằng một hành động
    sudo su - gitlab-runner
    
    1. Trong ví dụ sau, một hình ảnh dựa trên Debian được giả định. Chỉnh sửa theo nhu cầu của bạn

    before_script:
      ##
      ## Install ssh-agent if not already installed, it is required by Docker.
      ## [change apt-get to yum if you use an RPM-based image]
      ##
      - 'command -v ssh-agent >/dev/null || [ apt-get update -y && apt-get install openssh-client -y ]'
    
      ##
      ## Run ssh-agent [inside the build environment]
      ##
      - eval $[ssh-agent -s]
    
      ##
      ## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
      ## We're using tr to fix line endings which makes ed25519 keys work
      ## without extra base64 encoding.
      ## //gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
      ##
      - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
    
      ##
      ## Create the SSH directory and give it the right permissions
      ##
      - mkdir -p ~/.ssh
      - chmod 700 ~/.ssh
    
      ##
      ## Optionally, if you will be using any Git commands, set the user name and
      ## and email.
      ##
      # - git config --global user.email "user@example.com"
      # - git config --global user.name "User name"
    

    sudo su - gitlab-runner
    
    1 có thể được đặt trên toàn cầu hoặc theo từng công việc

  4. Đảm bảo rằng các khóa máy chủ SSH của máy chủ riêng đã được xác minh

  5. Bước cuối cùng, thêm khóa công khai từ khóa bạn đã tạo ở bước đầu tiên vào các dịch vụ mà bạn muốn có quyền truy cập từ bên trong môi trường xây dựng. Nếu bạn đang truy cập kho lưu trữ GitLab riêng tư, bạn phải thêm nó làm khóa triển khai

Đó là nó. Giờ đây, bạn có thể có quyền truy cập vào các máy chủ hoặc kho lưu trữ riêng trong môi trường xây dựng của mình

Các khóa SSH khi sử dụng trình thực thi Shell

Nếu bạn đang sử dụng trình thực thi Shell chứ không phải Docker, việc thiết lập khóa SSH sẽ dễ dàng hơn

Bạn có thể tạo khóa SSH từ máy đã cài đặt GitLab Runner và sử dụng khóa đó cho tất cả các dự án đang chạy trên máy này

  1. Đầu tiên, đăng nhập vào máy chủ chạy công việc của bạn

  2. Sau đó, từ thiết bị đầu cuối, đăng nhập với tư cách là người dùng

    sudo su - gitlab-runner
    
    6

    sudo su - gitlab-runner
    

  3. Tạo cặp khóa SSH như được mô tả trong hướng dẫn tạo khóa SSH. Không thêm cụm mật khẩu vào khóa SSH, nếu không,

    sudo su - gitlab-runner
    
    1 sẽ nhắc nhập mật khẩu

  4. Bước cuối cùng, hãy thêm khóa công khai từ khóa bạn đã tạo trước đó vào các dịch vụ mà bạn muốn có quyền truy cập từ bên trong môi trường xây dựng. Nếu bạn đang truy cập kho lưu trữ GitLab riêng tư, bạn phải thêm nó làm khóa triển khai

Sau khi tạo khóa, hãy thử đăng nhập vào máy chủ từ xa để chấp nhận dấu vân tay

sudo su - gitlab-runner
0

Để truy cập kho lưu trữ trên GitLab. com, bạn sẽ sử dụng

sudo su - gitlab-runner
8

Xác minh khóa máy chủ SSH

Bạn nên kiểm tra khóa công khai của máy chủ riêng để đảm bảo rằng bạn không bị nhắm mục tiêu bởi một cuộc tấn công trung gian. Nếu có bất kỳ điều gì đáng ngờ xảy ra, bạn sẽ nhận thấy điều đó vì công việc không thành công [kết nối SSH không thành công khi các khóa chung không khớp]

Để tìm khóa máy chủ của máy chủ của bạn, hãy chạy lệnh

sudo su - gitlab-runner
9 từ một mạng đáng tin cậy [lý tưởng nhất là từ chính máy chủ riêng]

sudo su - gitlab-runner
3

Tạo một biến CI/CD mới với

sudo su - gitlab-runner
00 là “Khóa” và là “Giá trị”, thêm đầu ra của
sudo su - gitlab-runner
9

Nếu bạn phải kết nối với nhiều máy chủ, tất cả các khóa máy chủ của máy chủ phải được thu thập trong Giá trị của biến, một khóa trên mỗi dòng

Ghi chú

Bằng cách sử dụng một biến thay vì

sudo su - gitlab-runner
9 trực tiếp bên trong
sudo su - gitlab-runner
9, bạn sẽ không phải thay đổi
sudo su - gitlab-runner
9 nếu tên miền máy chủ thay đổi vì lý do nào đó. Ngoài ra, các giá trị được bạn xác định trước, nghĩa là nếu các khóa máy chủ thay đổi đột ngột, công việc CI/CD sẽ không bị lỗi, do đó, đã xảy ra sự cố với máy chủ hoặc mạng

Bây giờ biến

sudo su - gitlab-runner
00 đã được tạo, ngoài nội dung của
sudo su - gitlab-runner
9 ở trên, bạn phải thêm

sudo su - gitlab-runner
8

dự án ví dụ

Chúng tôi đã thiết lập Dự án SSH mẫu để thuận tiện cho bạn chạy trên GitLab. com bằng cách sử dụng các trình chạy được chia sẻ công khai của chúng tôi

Bạn muốn hack vào nó? . Trong giây lát, các thay đổi được chọn bởi một người chạy công khai và công việc bắt đầu

Chủ Đề