Crates.io | permesi-genesis |
lib.rs | permesi-genesis |
version | 0.1.10 |
source | src |
created_at | 2024-01-23 07:39:51.280496 |
updated_at | 2024-09-03 08:11:20.592174 |
description | Token Zero generator for permesi |
homepage | https://github.com/permesi/genesis |
repository | https://github.com/permesi/genesis |
max_upload_size | |
id | 1110454 |
size | 256,283 |
Token Zero generator
Helps find(group) tokens for the same period of time but still unique.
> select id, id::timestamp from tokens;
+----------------------------+-------------------------+
| id | id |
|----------------------------+-------------------------|
| 01HQAS6A6SGD3Z1V7VF86Q0B6P | 2024-02-23 10:46:47.769 |
| 01HQAS6A6SV2A93NMKH0S03CD1 | 2024-02-23 10:46:47.769 |
| 01HQAS6A6S8ZRMC0RZP8DEQ1Q5 | 2024-02-23 10:46:47.769 |
| 01HQAS6A6S1Q8TT1E8XE1J7JS8 | 2024-02-23 10:46:47.769 |
+----------------------------+-------------------------+
Expire tokens by time using pg_cron
SELECT cron.schedule('*/30 * * * *', $$DELETE
FROM tokens
WHERE id::timestamp < NOW() - INTERVAL '120 seconds'$$);
Update the database of the cron job with the following SQL command:
UPDATE cron.job SET database='genesis' WHERE jobid=5;
Check the cron.job table with the following SQL command:
SELECT * FROM cron.job;
+-------+--------------+------------------------------------------------------+-----------+----------+----------+----------+--------+---------+
| jobid | schedule | command | nodename | nodeport | database | username | active | jobname |
|-------+--------------+------------------------------------------------------+-----------+----------+----------+----------+--------+---------|
| 2 | 0 0 * * * | DELETE | localhost | 5432 | postgres | postgres | True | <null> |
| | | FROM cron.job_run_details | | | | | | |
| | | WHERE end_time < now() - interval '7 days' | | | | | | |
| 5 | */30 * * * * | DELETE | localhost | 5432 | genesis | postgres | True | <null> |
| | | FROM tokens | | | | | | |
| | | WHERE id::timestamp < NOW() - INTERVAL '120 seconds' | | | | | | |
+-------+--------------+------------------------------------------------------+-----------+----------+----------+----------+--------+---------+
Check the status of the cron job with the following SQL command:
SELECT * FROM cron.job_run_details order by start_time DESC limit 5;