Skip to content

Commit

Permalink
add .github/workflows/cron-nft-ttr
Browse files Browse the repository at this point in the history
  • Loading branch information
gobengo committed May 25, 2022
1 parent 20c50be commit 93cd4e4
Show file tree
Hide file tree
Showing 6 changed files with 1,091 additions and 19 deletions.
37 changes: 37 additions & 0 deletions .github/workflows/cron-nft-ttr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Cron Pins

on:
schedule:
- cron: '30 * * * *'
workflow_dispatch:

jobs:
measure:
name: measure nft time to retrievability
runs-on: ubuntu-latest
strategy:
matrix:
env: ['staging', 'production']
timeout-minutes: 60
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 16
- uses: bahmutov/npm-install@v1
- name: Run job
env:
DEBUG: '*'
ENV: ${{ matrix.env }}
STAGING_DATABASE_CONNECTION: ${{ secrets.STAGING_DATABASE_CONNECTION }}
PROD_DATABASE_CONNECTION: ${{ secrets.PROD_DATABASE_CONNECTION }}
CLUSTER1_API_URL: ${{ secrets.CLUSTER1_API_URL }}
CLUSTER1_BASIC_AUTH_TOKEN: ${{ secrets.CLUSTER1_BASIC_AUTH_TOKEN }}
CLUSTER2_API_URL: ${{ secrets.CLUSTER2_API_URL }}
CLUSTER2_BASIC_AUTH_TOKEN: ${{ secrets.CLUSTER2_BASIC_AUTH_TOKEN }}
CLUSTER3_API_URL: ${{ secrets.CLUSTER3_API_URL }}
CLUSTER3_BASIC_AUTH_TOKEN: ${{ secrets.CLUSTER3_BASIC_AUTH_TOKEN }}
run: yarn --cwd packages/cron start:nft-ttr
- name: Heartbeat
if: ${{ success() }}
run: ./packages/tools/cli.js heartbeat --token ${{ secrets.OPSGENIE_KEY }} --name cron-nft-ttr
5 changes: 4 additions & 1 deletion packages/cron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,13 @@
},
"scripts": {
"start": "run-s start:*",
"start:nft-ttr": "node src/bin/nft-ttr.js",
"start:pins": "NODE_TLS_REJECT_UNAUTHORIZED=0 node src/bin/pins.js",
"start:pins-failed": "NODE_TLS_REJECT_UNAUTHORIZED=0 node src/bin/pins-failed.js",
"start:pinata": "node src/bin/pinata.js",
"start:dagcargo:sizes": "NODE_TLS_REJECT_UNAUTHORIZED=0 node src/bin/dagcargo-sizes.js",
"start:metrics": "NODE_TLS_REJECT_UNAUTHORIZED=0 node src/bin/metrics.js"
"start:metrics": "NODE_TLS_REJECT_UNAUTHORIZED=0 node src/bin/metrics.js",
"test": "jest"
},
"author": "Alan Shaw",
"license": "(Apache-2.0 OR MIT)",
Expand All @@ -26,6 +28,7 @@
"debug": "^4.3.2",
"dotenv": "^10.0.0",
"form-data": "^4.0.0",
"jest": "^28.1.0",
"limiter": "2.0.1",
"nft.storage": "^6.0.0",
"p-retry": "^4.6.1",
Expand Down
26 changes: 26 additions & 0 deletions packages/cron/src/bin/nft-ttr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env node

import path from 'path'
import { fileURLToPath } from 'url'
import dotenv from 'dotenv'
import fetch from '@web-std/fetch'
import { updatePendingPinStatuses } from '../jobs/pins.js'
import { getPg, getCluster1, getCluster2, getCluster3 } from '../lib/utils.js'
import { measureNftTimeToRetrievability } from '../jobs/measureNftTimeToRetrievability.js'

const __dirname = path.dirname(fileURLToPath(import.meta.url))
/** @ts-ignore */
global.fetch = fetch

async function main() {
const pg = getPg(process.env, 'rw')
try {
await pg.connect()
await measureNftTimeToRetrievability()
} finally {
await pg.end()
}
}

dotenv.config({ path: path.join(__dirname, '../../../../.env') })
main()
3 changes: 3 additions & 0 deletions packages/cron/src/jobs/measureNftTimeToRetrievability.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export async function measureNftTimeToRetrievability() {
console.log('start measureNftTimeToRetrievability')
}
3 changes: 3 additions & 0 deletions packages/cron/src/lib/utils.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
describe('utils', () => {
it('has a test', () => {})
})
Loading

0 comments on commit 93cd4e4

Please sign in to comment.