dyn-task 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/dynTask +18 -0
- data/lib/dyn-tasks.rb +45 -0
- metadata +67 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 57f9cd89c251270b7a798e46b51ee1893afc484ea2ee9a784a64c78abf0d85cd
|
4
|
+
data.tar.gz: dc7e037b03c2e42af02e305e2ed11ce413bc4017675ad33869baded5413e6b8b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c7dbd5346b5e415ed0c137e217daef7399afb6194c46dc6a49409963f47bfd8669d10978b3dcb300209322dbfa49dd47203ec5d79c84b7eb5bbc246de6e47932
|
7
|
+
data.tar.gz: 241193f153e39bf88eced20853bdc519381f47b47eab4a62e8a355df287bc72dc2598b6d7ddae27f1ee7e9485458ebb2e1a853dbb249881edec759100c2c5124
|
data/bin/dynTask
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'dyn-tasks'
|
3
|
+
|
4
|
+
if ["--no-forever","--no-daemon"].include? ARGV[0]
|
5
|
+
cfg={}
|
6
|
+
cfg[:dyntasks_root]=ARGV[1] if ARGV[1]
|
7
|
+
DynTasks::filewatcher(cfg)
|
8
|
+
else
|
9
|
+
require 'daemons'
|
10
|
+
require 'fileutils'
|
11
|
+
|
12
|
+
dir_pids=File.join(DynTasks.home,"pids")
|
13
|
+
FileUtils.mkdir_p dir_pids
|
14
|
+
Daemons.run_proc('dyn-task',{dir: dir_pids}) do
|
15
|
+
DynTasks::filewatcher
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
data/lib/dyn-tasks.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'filewatcher'
|
2
|
+
#if RUBY_VERSION >= "2.4"
|
3
|
+
class FileWatcher < Filewatcher
|
4
|
+
end
|
5
|
+
#end
|
6
|
+
|
7
|
+
|
8
|
+
module DynTasks
|
9
|
+
|
10
|
+
def DynTasks.home
|
11
|
+
dyntask_home = File.join(ENV['HOME'],'dyntask')
|
12
|
+
dyntask_home = File.read(File.join(ENV['HOME'],'.dyntask_home')).strip if File.exist? File.join(ENV['HOME'],'.dyntask_home')
|
13
|
+
dyntask_home = File.expand_path(dyntask_home)
|
14
|
+
#puts "dyntask_home: "+ dyntask_home
|
15
|
+
dyntask_home
|
16
|
+
end
|
17
|
+
|
18
|
+
def DynTasks.home=(value)
|
19
|
+
File.open(File.join(ENV['HOME'],'.dyntask_home'),"w") do |f|
|
20
|
+
f << value.strip
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def DynTasks.filewatcher(cfg={}) #cfg
|
26
|
+
|
27
|
+
dyntasks_root= File.join(DynTasks.home, "reactzone")
|
28
|
+
FileUtils.mkdir_p dyntasks_root
|
29
|
+
|
30
|
+
puts "watching tasks inside "+ dyntasks_root
|
31
|
+
::FileWatcher.new(dyntasks_root).watch() do |filename, event|
|
32
|
+
##DEBUG:
|
33
|
+
puts filename + "->" + event.to_s+"\n"
|
34
|
+
if [:changed,:updated,:new].include? event
|
35
|
+
case File.extname(filename)
|
36
|
+
when ".rb"
|
37
|
+
system("/usr/bin/env ruby "+filename)
|
38
|
+
when ".sh"
|
39
|
+
system("/usr/bin/env bash "+filename)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dyn-task
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- RCqls
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-01-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: filewatcher
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.0.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.0.1
|
33
|
+
description: " Dynamic tasks system.\n"
|
34
|
+
email: rdrouilh@gmail.com
|
35
|
+
executables:
|
36
|
+
- dynTask
|
37
|
+
extensions: []
|
38
|
+
extra_rdoc_files: []
|
39
|
+
files:
|
40
|
+
- bin/dynTask
|
41
|
+
- lib/dyn-tasks.rb
|
42
|
+
homepage: http://cqls.upmf-grenoble.fr
|
43
|
+
licenses:
|
44
|
+
- MIT
|
45
|
+
- GPL-2.0
|
46
|
+
metadata: {}
|
47
|
+
post_install_message:
|
48
|
+
rdoc_options: []
|
49
|
+
require_paths:
|
50
|
+
- lib
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
requirements:
|
62
|
+
- none
|
63
|
+
rubygems_version: 3.4.5
|
64
|
+
signing_key:
|
65
|
+
specification_version: 4
|
66
|
+
summary: Minimal dynamic task system
|
67
|
+
test_files: []
|