Come posso fare un lavoro in github azione eseguire in modo casuale tra 1 e 50 volte al giorno?

0

Domanda

come posso fare un lavoro in github azione eseguire in modo casuale tra 1 e 50 volte al giorno?

Qui è il mio job di cron.

cron: '0 0 * * *'

Questo verrà eseguito una volta al giorno.

Ma quello che voglio è quello di eseguire in modo casuale da 1 a 50 volte al giorno.

Come faccio a farlo funzionare in modo casuale da 1 a 50?

qui di seguito la mia git azione yml file di impostazione di come i flussi di lavoro

#1. Repository Fork
# 2. Modify the files A and B according to the procedure
# 3. After committing the modifications, push & Enjoy!

name: planting-grass

# A. Comment lines 8-11
# on:
# push:
# branches:
# - unknown

# B. Uncomment lines 14-16
on:
   schedule:
     - cron: '0 0 * * *'

jobs:
  task:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set current date
        id: date
        run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
      - name: Execute commands
        run: bash ./task.sh ${{ steps.date.outputs.date }}
      - name: Commit files
        run: |
          git config --global user.name "$(git --no-pager log --format=format:'%an' -n 1)"
          git config --global user.email "$(git --no-pager log --format=format:'%ae' -n 1)"
          git add date.txt
          git commit -m ${{ steps.date.outputs.date }}
      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          branch: ${{ github.ref }}

Cron posti di lavoro e casuali di volte, in determinate ore Del metodo, attraverso questo post non funziona.

enter image description here

Migliori Saluti!

bash cron github-actions sh
2021-11-20 05:36:39
1

Migliore risposta

1

È possibile farlo modificando uno script Bash per il ciclo un numero casuale di volte. Per esempio, questo script Bash loop tra 1 e 50 volte.

#!/usr/bin/env bash
loops=$(( ( RANDOM % 50 )  + 1 ))
echo "$loops"
for i in $(seq 1 $loops); do
    echo foo
done

L'unico aspetto negativo di questo approccio è che avete bisogno di prendere le misure che si sta svolgendo nel "Salva file" passo e li fondono in script nel 'Eseguire i comandi' passaggio, o che non sarà ripetuta.

2021-11-20 06:06:40

Nel git di azione per l'ambiente, non può eseguire il yml ambiente interno per la dichiarazione.
emarwa.mouma.35t

Vero, ma tutte le cose che si stanno facendo all'interno dei "Commettere il file di" passaggio sono cose che si possono fare in Bash. La Configurazione Di Git? È possibile farlo in Bash. Commettere file? È possibile farlo in Bash. Il recupero della data? È possibile farlo in Bash.
Nick ODell

il risultato di questa soluzione : ./task.sh: 4: i: not found
emarwa.mouma.35t

@emarwa.mouma.35t Se veramente non si preoccupano gli intervalli, questo approccio è migliore IMO. Una volta al giorno, lo script/codice viene eseguito tra 1 e 50 volte in una riga. È possibile implementare come un wrapper di script che si chiama ./task.sh (invece di echo foo), o, aggiungere il loop task.sh. Vorrei utilizzare for ((i=1; i<=loops; i++)) invece di seqma non importa.
dan

@emarwa.mouma.35t come l'errore nella tua precedente domanda, e la mia risposta, è necessario specificare bash. In esecuzione while (( i <= loops )) (o simili) sh produrrà l'errore.
dan

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................